Oprindeligt skabt til Linux, DXVK kan også hjælpe dig med at "fixe" gamle spil på Windows og øge deres ydeevne. Her er hvorfor og hvordan.
Direct3D har været en del af Windows-spil i årtier og forener det segmenterede pc-hardwarelandskab under én 3D-aktiveret paraply. En app, der primært er oprettet til Linux, DXVK, er dog nogle gange en meget bedre mulighed at bruge, selvom du er på Windows.
Vil du have bedre kompatibilitet og, endnu vigtigere, ydeevne for dine apps og spil? Så skal du prøve DXVK.
Problemet med DirectX på Windows
Microsoft skabte DirectX som en "forenet løsning", der hjalp programmører med at bruge enhver pc's hardwarefunktioner. I stedet for at skrive forskellig kode for hver hardwaredel kunne softwareudviklere "målrette" mod DirectX's DirectDraw (2D-grafik), Direct3D (hardwareaccelereret 3D) og DirectSound (lyd) biblioteker. Lad derefter Microsofts løsning "oversætte" deres kode til "modersmålet" for hver hardwaredel.
DirectX blev en uerstattelig kerneteknologi i Windows og har været under udvikling siden. Der er dog en lille hake med Direct3D: den er ikke 100 % bagudkompatibel.
Microsoft og skaberne af GPU'er, der understøtter Direct3D API (som i "Nvidia, AMD og Intel"), har lejlighedsvis droppet understøttelse af funktioner introduceret i tidligere versioner af Direct3D, men som aldrig opnåede trækkraft. Således kan nogle ældre spil muligvis ikke køre korrekt på en moderne GPU med de nyeste versioner af Direct3D.
Hvad er Vulkan?
Angiveligt et mere "åbent" svar på Microsofts lukkede kilde Direct3D, OpenGL var en muteret version af de 3D-grafikbiblioteker, der blev brugt i Silicon Graphics' grafikarbejdsstationer.
OpenGL haltede dog altid, funktionsmæssigt, sammenlignet med Microsofts Direct3D. Til sidst virkede det mere rationelt at genstarte indsatsen. Derfor blev Vulkan, også kendt som "OpenGL Next", skabt, som tilbyder bedre ydeevne og øget kontrol over hardware.
Ligesom OpenGL, og i modsætning til Microsofts Windows-bundne Direct3D, er Vulkan "åben" og tværplatform. Du kan bruge Vulkan på Windows, Linux og endda smartphones. Selvom det ikke er naturligt understøttet på Mac'er, kan det bruges der gennem MoltenVK.
Det var den korte version. For at lære mere om Vulkan, tjek vores artikel om hvilke Vulkan run time biblioteker er i Windows.
Hvad er DXVK?
DXVK er en indpakning, der "oversætter" Direct3D til Vulkan. I den menneskelige verden kan en oversætter være en mægler mellem en engelsktalende og en japansktalende, hvilket gør dem i stand til at forstå hinanden. På samme måde kan "wrappers" eller "oversættelseslag" "tage" kode skrevet til et specifikt stykke hardware, platform eller API og oversætte det til at køre på en anden.
DXVK blev oprindeligt udviklet til Linux med support fra Valve, som også bruger det på SteamOS og Steam Deck. Du kan lære mere om det i vores artikel, hvor vi så hvad er Steam Proton, og hvordan det kører Windows-spil på Steam Deck.
Hvorfor skal du bruge DXVK på Windows?
Hvis et spil allerede kører fint på din hardware, er der ingen grund til at bruge DXVK. Men nogle spil skrevet til ældre versioner af DirectX kører ikke "korrekt" (hvis overhovedet) på nyere versioner af DirectX og moderne hardware.
Ved at "oversætte" gammel-og-buggy Direct3D-kode til den mere moderne Vulkan API, er der en minimal afgift på ydeevne (hvis nogen). Samtidig kan problematiske spil med ødelagt grafik eller manglende funktioner blive fuldt spilbare igen.
Da Vulkan er på niveau med Direct3D 12, og begge er meget bedre (og hurtigere) end ældre versioner af Direct3D (som vi så, da vi sammenlignede DirectX 11 VS DirectX 12), at "oversætte" gamle Direct3D-spil til Vulkan kan nogle gange forbedre spillets ydeevne.
Intels arbejde med deres Arc GPU'er er et bevis på det. Intel kunne forsøge at tilføje understøttelse for hver enkelt ældre titel i Arc GPU-drivere. I stedet besluttede Intel at arbejde på at forbedre DXVK yderligere. De første resultater fra Intels "eksperiment" fører op til et 2x boost i ydeevnen for ældre titler, med snesevis afspillet "gennem" DXVK.
Sådan bruger du DXVK på Windows
Det er nemt at bruge DXVK på Windows, da der ikke er noget at justere eller konfigurere. Du skal kun downloade det, udpakke det i spillets korrekte mappe, og det er klar til at gå.
Du skal dog bruge den korrekte DXVK-version, der matcher Direct3D-versionen, der bruges af dit spil.
Det er nok nemmere, hvis vi sammen gennemgår hele processen for at se, hvordan du kan downloade den nyeste version af DXVK, identificere dit spils "tech" og installere de korrekte DLL'er i den rigtige mappe.
Sådan downloader du DXVK
DXVK er open source-software og gratis at bruge. Du kan finde den seneste version på GitHub.
- Besøg DXVK's officiel GitHub-side og klik på Seneste versionslink til højre på siden, under Udgivelser.
- Rul ned på udgivelsessiden og find Aktiver afsnittet i den seneste version. Klik på det seneste DXVK tar.gz-arkiv for at downloade det. I skrivende stund var det version 2.2.
- Gem det downloadede arkiv et sted, for du bliver nødt til at udpakke dets indhold til mappen for hvert spil, du vil køre med DXVK i stedet for Direct3D.
Sådan vælger du den rigtige DXVK-version
Hvis du har brug for at vide, hvilken version af Direct3D dit spil bruger, kan PC Gaming Wiki-webstedet hjælpe.
- Besøg PC Gaming Wiki med din browser, og brug søgefeltet øverst til højre for at søge efter det spil, du vil tilføje DXVK til.
- Når du finder dit spil, skal du besøge dets side og rulle ned for at komme til Andre oplysninger afsnit. Vend din opmærksomhed mod API-tabellerne. Der, på Tekniske specifikationer og Understøttet kolonner, vil du se den version af Direct3D dit spil bruger. Nedenunder Eksekverbar, 32-bit, og 64-bit kolonner vil "fortælle" dig hvilken arkitektur du skal vælge.
Sådan tilføjer du DXVK til dine spil
Nu hvor du ved, hvilken Direct3D-version og CPU-arkitektur dit spil bruger, kan du tilføje den korrekte version af DXVK til dens mappe.
- Åbn DXVK-arkivet med din foretrukne arkivmanager (til denne artikel bruger vi WinRAR), og indtast den enkelte DXVK-mappe, du vil se der.
- Indeni finder du to undermapper, en for hver computerarkitektur. Indtast den rigtige til dit spil. Selvom dit operativsystem er 64-bit, som de fleste versioner af Windows i dag, hvis dit spil er 32-bit, bør du gå efter 32-bit-mappen.
- Vælg DXGI.DLL plus den korrekte DLL for versionen af Direkte 3D dit spil bruger. Som du vil se, er der yderligere tre DLL'er, en for hver af de tidligere versioner af Direct3D: 9, 10 og 11.
- Find den lokale mappe, hvor dit spil er installeret, og find undermappen med dens eksekverbare ("filen, som spillet kører fra"). Udpak DLL'erne fra det forrige trin til denne mappe.
Sådan tester og benchmarker du dit forbedrede spil
Hvis du kører dit spil nu, bør det bruge Vulkan i stedet for Direct3D og forhåbentlig yde bedre.
Selvom du ikke ser nogen dramatiske ændringer i billedhastigheder, kan forbedringerne nogle gange "mærkes" på andre måder. For eksempel prøvede vi DXVK med den klassiske Batman: Arkham City på en pc udstyret med en Ryzen 5900x, 64 GB RAM og en Nvidia RTX 3070 GPU. Vores hardware var allerede over dette gamle spils topspecifikationer og opnåede meget høje billedhastigheder. Selvom de blev højere med Vulkan, ville forskellen ikke være let opfattelig.
Men spillets handling føltes mere jævn. Overgange mellem skærme, indlæsningsniveauer og tryk på Alt + Tab var næsten øjeblikkelige med DXVK.
Når du ikke bør bruge DXVK
DXVK har mange fordele og kan bringe ydeevnen af ældre spil ind i den moderne æra. På trods af dette er det ikke en sølvkugle for forbedret ydeevne, og nogle gange er det bare ikke værd at bruge det.
1. DXVK forbedrer ikke spillets ydeevne
Hvis du har tilføjet DXVK DLL'erne til dit spil, men ikke så nogen forskel bagefter, kan du fjerne dem igen, hvis du vil. Du kan slette de DLL'er, du har tilføjet til et spils mappe for at gøre det.
2. DXVK forårsager dårligere ydeevne eller introducerer nye fejl
Nogle gange kan det have den modsatte effekt at tilføje DXVK til et spil. Desværre er der ingen måde for en slutbruger at løse sådanne problemer.
Opstod et spils præstationstank eller visuelle fejl efter tilføjelse af DXVK? Afslut spillet og slet DXVK's DLL'er fra dets bibliotek.
3. Du vil spille dit spil online
DXVK er et kompatibilitetslag og påvirker kun det grafiske output af et spil. Alligevel er nogle virksomheder imod enhver ændring af deres spil for at sikre et retfærdigt miljø for alle.
DXVK er måske ikke "snyder", men det er stadig en "spilmodifikation", og kan blive markeret som sådan.
4. Spillet har allerede indbygget Vulkan-support
Hvis et spil allerede bruger Vulkan API, som Doom Eternal, er der ingen grund til at indstille dets output til Direct3D for derefter at oversætte det til Vulkan.
5. Spillet bruger Direct3D 12
Da Direct3D 12 er næsten helt på niveau med Vulkan, er der intet at vinde ved at oversætte en ultramoderne grafik-API til en anden.
Forbedre dine gamle spil med "oversat" 3D på Windows
Hvad der startede som en måde at spille flere Windows-bundne spil på Linux, endte med at blive en nyttig kompatibilitetsløsning og ydeevnebooster. Så hold et nyligt arkiv af DXVK's DLL'er ved hånden. Føj dem til ethvert spil, hvor du gerne vil eliminere fejl, forbedre dets ydeevne, få mere jævn handling i spillet og forbedre dets reaktionsevne.
Selvom det ikke ender med at hjælpe, vil det kun tage sekunder at prøve det, og oftest vil du blive overrasket over resultaterne.