Oorspronkelijk gemaakt voor Linux, kan DXVK je ook helpen oude games op Windows te "repareren" en hun prestaties te verbeteren. Hier is waarom en hoe.

Direct3D maakt al tientallen jaren deel uit van Windows-gaming en verenigt het gesegmenteerde pc-hardwarelandschap onder één 3D-paraplu. Een app die voornamelijk voor Linux is gemaakt, DXVK, is soms echter een veel betere optie om te gebruiken, zelfs als u Windows gebruikt.

Wilt u betere compatibiliteit en, nog belangrijker, prestaties voor uw apps en games? Dan moet je DXVK uitproberen.

Het probleem met DirectX op Windows

Microsoft creëerde DirectX als een "geünificeerde oplossing" die programmeurs hielp de hardwaremogelijkheden van elke pc te gebruiken. In plaats van voor elk hardwareonderdeel een andere code te schrijven, zouden softwareontwikkelaars DirectX's DirectDraw (2D graphics), Direct3D (hardware-versnelde 3D) en DirectSound (audio) bibliotheken kunnen "targeten". Laat vervolgens de oplossing van Microsoft hun code "vertalen" naar "de moedertaal" van elk hardwareonderdeel.

instagram viewer

DirectX werd een onvervangbare kerntechnologie in Windows en is sindsdien blijven evolueren. Er is echter een klein probleem met Direct3D: het is niet 100% achterwaarts compatibel.

Microsoft en de makers van GPU's die de Direct3D API ondersteunen (zoals in "Nvidia, AMD en Intel"), hebben liet af en toe de ondersteuning vallen voor functies die in eerdere versies van Direct3D waren geïntroduceerd, maar die nooit zijn gewonnen tractie. Het is dus mogelijk dat sommige oudere games niet correct werken op een moderne GPU met de nieuwste versies van Direct3D.

Wat is Vulkan?

Vermoedelijk een meer "open" antwoord op Microsoft's closed-source Direct3D, was OpenGL een gemuteerde versie van de 3D grafische bibliotheken die werden gebruikt in de grafische werkstations van Silicon Graphics.

OpenGL bleef echter altijd achter, qua functies, in vergelijking met Direct3D van Microsoft. Uiteindelijk leek het rationeler om de inspanning opnieuw op te starten. Daarom is Vulkan, ook wel bekend als "OpenGL Next", gemaakt, dat betere prestaties en meer controle over hardware biedt.

Net als OpenGL, en in tegenstelling tot Microsoft's Windows-gebonden Direct3D, is Vulkan "open" en platformonafhankelijk. Je kunt Vulkan gebruiken op Windows, Linux en zelfs smartphones. Hoewel het niet standaard wordt ondersteund op Macs, is het daar bruikbaar via MoltenVK.

Dat was de korte versie. Voor meer informatie over Vulkan, bekijk ons ​​artikel op wat Vulkan runtime-bibliotheken zijn in Windows.

Wat is DXVK?

DXVK is een wrapper die Direct3D "vertaalt" naar Vulkan. In de menselijke wereld kan een vertaler een bemiddelaar zijn tussen een Engelse en een Japanse spreker, waardoor ze elkaar kunnen begrijpen. Evenzo kunnen "wrappers" of "vertaallagen" code "nemen" die is geschreven voor een specifiek stuk hardware, platform of API, en deze vertalen om op een ander stuk te draaien.

DXVK is oorspronkelijk ontwikkeld voor Linux met ondersteuning van Valve, die het ook gebruikt op SteamOS en het Steam Deck. Je kunt daar meer over leren in ons artikel waar we zagen wat is Steam Proton en hoe Windows-games op Steam Deck worden uitgevoerd.

Waarom zou u DXVK op Windows gebruiken?

Als een game al goed draait op je hardware, is er geen reden om DXVK te gebruiken. Maar sommige games die voor oudere versies van DirectX zijn geschreven, werken niet "correct" (of helemaal niet) op nieuwere versies van DirectX en moderne hardware.

Door de ouderwetse Direct3D-code te "vertalen" naar de modernere Vulkan API, is er een minimale tol van de prestaties (indien aanwezig). Tegelijkertijd kunnen problematische games met kapotte graphics of ontbrekende functies weer volledig speelbaar worden.

Omdat Vulkan vergelijkbaar is met Direct3D 12, en beide veel beter (en sneller) zijn dan oudere versies van Direct3D (zoals we zagen toen we vergeleken DirectX 11 VS DirectX 12), kan het "vertalen" van oude Direct3D-games naar Vulkan soms de prestaties van de game verbeteren.

Het werk van Intel aan hun Arc GPU's is daar het bewijs van. Intel zou kunnen proberen om ondersteuning toe te voegen voor elke oudere titel in Arc GPU-stuurprogramma's. In plaats daarvan besloot Intel te werken aan het verder verbeteren van DXVK. De eerste resultaten van het "experiment" van Intel leidden tot een 2x betere prestatie voor oudere titels, met tientallen speelbaar gemaakt "via" DXVK.

Hoe DXVK op Windows te gebruiken

Het gebruik van DXVK op Windows is eenvoudig, aangezien er niets hoeft te worden aangepast of geconfigureerd. Je hoeft het alleen maar te downloaden, uit te pakken in de juiste map van een game en het is klaar voor gebruik.

U moet echter de juiste DXVK-versie gebruiken die overeenkomt met de Direct3D-versie die door uw game wordt gebruikt.

Het is waarschijnlijk gemakkelijker als we samen het hele proces doorlopen om te zien hoe u de nieuwste versie van DXVK kunt downloaden, de "technologie" van uw game kunt identificeren en de juiste DLL's in de juiste map kunt installeren.

Hoe DXVK te downloaden

DXVK is open-source software en gratis te gebruiken. Je kunt de nieuwste versie vinden op GitHub.

  1. Bezoek DXVK's officiële GitHub-pagina en klik op de Laatste versielink aan de rechterkant van de pagina, onder Uitgaven.
  2. Scroll naar beneden op de releasepagina en vind de Activa gedeelte van de nieuwste versie. Klik op het nieuwste DXVK tar.gz-archief om het te downloaden. Op het moment van schrijven was het versie 2.2.
  3. Bewaar het gedownloade archief ergens, want je moet de inhoud ervan uitpakken naar de map van elke game die je met DXVK wilt spelen in plaats van met Direct3D.

Hoe u de juiste DXVK-versie kiest

Als je wilt weten welke versie van Direct3D je game gebruikt, kan de PC Gaming Wiki-website helpen.

  1. Bezoek Wiki voor pc-gaming met je browser en gebruik het zoekveld rechtsboven om het spel te zoeken waaraan je DXVK wilt toevoegen.
  2. Wanneer je je game hebt gevonden, ga je naar de pagina en scrol je naar beneden om bij de Andere informatie sectie. Richt uw aandacht op de API-tabellen. Daar, op de Technische specificaties En Ondersteund kolommen, ziet u de versie van Direct3D die uw game gebruikt. Onder, de Uitvoerbaar, 32-bits, En 64-bits kolommen zullen u "vertellen" welke architectuur u moet kiezen.

Hoe u DXVK aan uw spellen kunt toevoegen

Nu je weet welke Direct3D-versie en CPU-architectuur je game gebruikt, kun je de juiste versie van DXVK aan de map toevoegen.

  1. Open het DXVK-archief met uw favoriete archiefbeheerder (voor dit artikel gebruiken we WinRAR) en voer de enkele DXVK-map in die u daar ziet.
  2. Binnenin vind je twee submappen, één voor elke computerarchitectuur. Voer de juiste in voor uw spel. Zelfs als je besturingssysteem 64-bits is, zoals de meeste versies van Windows tegenwoordig, als je game 32-bits is, moet je voor de 32-bits map gaan.
  3. Selecteer de DXGI.DLL plus de juiste DLL voor de versie van Direct3D je spel gebruikt. Zoals u zult zien, zijn er nog drie DLL's, één voor elk van de vorige versies van Direct3D: 9, 10 en 11.
  4. Zoek de lokale map waarin je game is geïnstalleerd en zoek de submap met het uitvoerbare bestand ("het bestand van waaruit de game wordt uitgevoerd"). Pak de DLL's uit de vorige stap uit naar deze map.

Hoe u uw verbeterde spel kunt testen en benchmarken

Als je je spel nu uitvoert, zou het Vulkan moeten gebruiken in plaats van Direct3D en hopelijk beter presteren.

Zelfs als u geen dramatische veranderingen in framesnelheden ziet, kunnen de verbeteringen soms op andere manieren worden "gevoeld". We hebben bijvoorbeeld DXVK geprobeerd met de klassieke Batman: Arkham City op een pc die is uitgerust met een Ryzen 5900x, 64 GB RAM en een Nvidia RTX 3070 GPU. Onze hardware was al over de topspecificaties van deze oude game heen en bereikte zeer hoge framesnelheden. Zelfs als ze hoger zouden komen met Vulkan, zou het verschil niet gemakkelijk waarneembaar zijn.

De actie van de game voelde echter soepeler aan. Overgangen tussen schermen, laadniveaus en drukken op Alt + Tab waren vrijwel direct met DXVK.

Wanneer u DXVK niet mag gebruiken

DXVK heeft veel voordelen en kan de prestaties van oudere games naar het moderne tijdperk brengen. Desondanks is het geen wondermiddel voor verbeterde prestaties, en soms is het gewoon niet de moeite waard om het te gebruiken.

1. DXVK verbetert de prestaties van het spel niet

Als je de DXVK DLL's aan je game hebt toegevoegd, maar daarna geen verschil ziet, kun je ze desgewenst weer verwijderen. Je kunt daarvoor de DLL's verwijderen die je aan de map van een game hebt toegevoegd.

2. DXVK veroorzaakt slechtere prestaties of introduceert nieuwe glitches

Soms kan het toevoegen van DXVK aan een game het tegenovergestelde effect hebben. Helaas is er voor een eindgebruiker geen manier om dergelijke problemen op te lossen.

Verschenen de prestatietank of visuele glitches van een game na het toevoegen van DXVK? Sluit het spel af en verwijder de DLL's van de DXVK uit de directory.

3. U wilt uw spel online spelen

DXVK is een compatibiliteitslaag en heeft alleen invloed op de grafische uitvoer van een game. Toch zijn sommige bedrijven tegen elke aanpassing van hun spellen om een ​​eerlijke omgeving voor iedereen te garanderen.

DXVK is misschien niet "vals spelen", maar het is nog steeds een "spelaanpassing" en kan als zodanig worden gemarkeerd.

4. De game heeft al ingebouwde Vulkan-ondersteuning

Als een game al gebruikmaakt van de Vulkan-API, zoals Doom Eternal, is er geen reden om de uitvoer in te stellen op Direct3D om deze vervolgens te vertalen naar Vulkan.

5. Het spel maakt gebruik van Direct3D 12

Aangezien Direct3D 12 bijna volledig vergelijkbaar is met Vulkan, valt er niets te winnen bij het vertalen van de ene ultramoderne grafische API naar de andere.

Verbeter uw oude games met "vertaalde" 3D op Windows

Wat begon als een manier om meer Windows-gebonden games op Linux te spelen, werd uiteindelijk een handige compatibiliteitsoplossing en prestatiebooster. Houd dus een recent archief van DXVK's DLL's bij de hand. Voeg ze toe aan elke game waar je glitches wilt elimineren, de prestaties wilt verbeteren, vloeiendere in-game actie wilt en de reactietijd wilt verbeteren.

Zelfs als het uiteindelijk niet helpt, duurt het slechts enkele seconden om het uit te proberen, en vaker wel dan niet, zult u verrast zijn door de resultaten.