Ursprungligen skapad för Linux, DXVK kan också hjälpa dig att "fixa" gamla spel på Windows och förbättra deras prestanda. Här är varför och hur.

Direct3D har varit en del av Windows-spel i decennier, och förenar det segmenterade PC-hårdvarulandskapet under ett 3D-aktiverat paraply. En app skapad främst för Linux, DXVK, är dock ibland ett mycket bättre alternativ att använda, även om du använder Windows.

Vill du ha bättre kompatibilitet och, ännu viktigare, prestanda för dina appar och spel? Då måste du testa DXVK.

Problemet med DirectX på Windows

Microsoft skapade DirectX som en "enhetlig lösning" som hjälpte programmerare att använda vilken dator som helst. Istället för att skriva olika kod för varje hårdvarudel kunde mjukvaruutvecklare "inrikta sig på" DirectX: s DirectDraw (2D-grafik), Direct3D (hårdvaruaccelererad 3D) och DirectSound (ljud) bibliotek. Låt sedan Microsofts lösning "översätta" sin kod till "modersmålet" för varje hårdvarudel.

DirectX blev en oersättlig kärnteknik i Windows och har utvecklats sedan dess. Det finns dock en liten hake med Direct3D: den är inte 100 % bakåtkompatibel.

instagram viewer

Microsoft, och skaparna av grafikprocessorer som stöder Direct3D API (som i "Nvidia, AMD och Intel"), har ibland tappade stödet för funktioner som introducerats i tidigare versioner av Direct3D men som aldrig vunnit dragning. Således kan vissa äldre spel misslyckas med att köras korrekt på en modern GPU med de senaste versionerna av Direct3D.

Vad är Vulkan?

Förmodligen ett mer "öppet" svar på Microsofts stängda källkod Direct3D, OpenGL var en muterad version av 3D-grafikbiblioteken som används i Silicon Graphics grafikarbetsstationer.

OpenGL släpade dock alltid efter, funktionsmässigt, jämfört med Microsofts Direct3D. Så småningom verkade det mer rationellt att starta om ansträngningen. Det är därför Vulkan, även känd som "OpenGL Next", skapades, som erbjuder bättre prestanda och ökad kontroll över hårdvaran.

Precis som OpenGL, och till skillnad från Microsofts Windows-bundna Direct3D, är Vulkan "öppen" och plattformsoberoende. Du kan använda Vulkan på Windows, Linux och till och med smartphones. Även om den inte stöds på Mac-datorer, är den användbar där genom MoltenVK.

Det var den korta versionen. För att lära dig mer om Vulkan, kolla vår artikel om vilka Vulkan körtidsbibliotek är i Windows.

Vad är DXVK?

DXVK är ett omslag som "översätter" Direct3D till Vulkan. I den mänskliga världen kan en översättare vara en medlare mellan en engelsktalande och en japansktalande, vilket gör det möjligt för dem att förstå varandra. På liknande sätt kan "wrappers" eller "översättningslager" "ta" kod skriven för en specifik hårdvara, plattform eller API och översätta den till att köras på en annan.

DXVK utvecklades ursprungligen för Linux med stöd från Valve, som även använder det på SteamOS och Steam Deck. Du kan lära dig mer om det i vår artikel där vi såg vad är Steam Proton och hur det kör Windows-spel på Steam Deck.

Varför ska du använda DXVK på Windows?

Om ett spel redan fungerar bra på din hårdvara, finns det ingen anledning att använda DXVK. Men vissa spel skrivna för äldre versioner av DirectX körs inte "korrekt" (om alls) på nyare versioner av DirectX och modern hårdvara.

Genom att "översätta" gammal och buggig Direct3D-kod till det mer moderna Vulkan API, blir det minimalt med prestanda (om någon). Samtidigt kan problematiska spel med trasig grafik eller saknade funktioner bli fullt spelbara igen.

Eftersom Vulkan är i nivå med Direct3D 12, och båda är mycket bättre (och snabbare) än äldre versioner av Direct3D (som vi såg när vi jämförde DirectX 11 VS DirectX 12), att "översätta" gamla Direct3D-spel till Vulkan kan ibland förbättra spelets prestanda.

Intels arbete med deras Arc GPU är ett bevis på det. Intel kan försöka lägga till stöd för varje enskild äldre titel i Arc GPU-drivrutiner. Istället bestämde sig Intel för att arbeta med att ytterligare förbättra DXVK. Inledande resultat från Intels "experiment" leder upp till en 2x ökning av prestanda för äldre titlar, med dussintals spelbara "genom" DXVK.

Hur man använder DXVK på Windows

Att använda DXVK på Windows är enkelt, eftersom det inte finns något att justera eller konfigurera. Du behöver bara ladda ner det, extrahera det i spelets rätt mapp och det är klart att börja.

Du måste dock använda rätt DXVK-version som matchar Direct3D-versionen som används av ditt spel.

Det är förmodligen lättare om vi går igenom hela processen tillsammans för att se hur du kan ladda ner den senaste versionen av DXVK, identifiera ditt spels "teknik" och installera rätt DLL-filer i rätt mapp.

Hur man laddar ner DXVK

DXVK är programvara med öppen källkod och gratis att använda. Du kan hitta den senaste versionen på GitHub.

  1. Besök DXVK's officiella GitHub-sida och klicka på Senast versionslänk till höger på sidan, under Släpps.
  2. Scrolla ner på releasesidan och hitta Tillgångar avsnitt i den senaste versionen. Klicka på det senaste DXVK tar.gz-arkivet för att ladda ner det. I skrivande stund var det version 2.2.
  3. Förvara det nedladdade arkivet någonstans, för du måste extrahera dess innehåll till mappen för varje spel du vill köra med DXVK istället för Direct3D.

Hur man väljer rätt DXVK-version

Om du behöver veta vilken version av Direct3D ditt spel använder kan webbplatsen PC Gaming Wiki hjälpa dig.

  1. Besök PC Gaming Wiki med din webbläsare och använd sökfältet uppe till höger för att söka efter spelet som du vill lägga till DXVK till.
  2. När du hittar ditt spel, besök dess sida och scrolla ner för att komma till Annan information sektion. Vänd din uppmärksamhet till API-tabellerna. Där, på Tekniska specifikationer och Stöds kolumner kommer du att se vilken version av Direct3D ditt spel använder. Undertill Körbar, 32-bitars, och 64-bitars kolumner kommer att "berätta" vilken arkitektur du ska välja.

Hur man lägger till DXVK till dina spel

Nu när du vet vilken Direct3D-version och CPU-arkitektur ditt spel använder, kan du lägga till rätt version av DXVK till dess mapp.

  1. Öppna DXVK-arkivet med din favoritarkivhanterare (för den här artikeln använder vi WinRAR) och ange den enda DXVK-mappen som du kommer att se där.
  2. Inuti hittar du två undermappar, en för varje datorarkitektur. Ange rätt för ditt spel. Även om ditt operativsystem är 64-bitars, som de flesta versioner av Windows idag, om ditt spel är 32-bitars, bör du välja 32-bitarsmappen.
  3. Välj DXGI.DLL plus rätt DLL för versionen av Direct3D ditt spel använder. Som du kommer att se finns det ytterligare tre DLL-filer, en för var och en av de tidigare versionerna av Direct3D: 9, 10 och 11.
  4. Hitta den lokala mappen där ditt spel är installerat och leta reda på undermappen med dess körbara ("filen som spelet körs från"). Extrahera DLL-filerna från föregående steg till den här mappen.

Hur man testar och jämför ditt förbättrade spel

Om du kör ditt spel nu bör det använda Vulkan istället för Direct3D och förhoppningsvis prestera bättre.

Även om du inte ser några dramatiska förändringar i bildhastigheter kan ibland förbättringarna "kännas" på andra sätt. Till exempel testade vi DXVK med den klassiska Batman: Arkham City på en PC utrustad med en Ryzen 5900x, 64 GB RAM och en Nvidia RTX 3070 GPU. Vår hårdvara var redan över det gamla spelets toppspecifikationer och uppnådde mycket höga bildfrekvenser. Även om de blev högre med Vulkan, skulle skillnaden inte vara lätt märkbar.

Däremot kändes spelets handling smidigare. Övergångar mellan skärmar, laddningsnivåer och att trycka på Alt + Tab var nästan omedelbara med DXVK.

När du inte bör använda DXVK

DXVK har många fördelar och kan ta prestandan hos äldre spel in i den moderna eran. Trots detta är det inte en silverkula för förbättrad prestanda, och ibland är det helt enkelt inte värt att använda det.

1. DXVK förbättrar inte spelets prestanda

Om du har lagt till DXVK DLL i ditt spel men inte såg någon skillnad efteråt, kan du ta bort dem igen om du vill. Du kan ta bort DLL-filerna som du har lagt till i spelets mapp för att göra det.

2. DXVK orsakar sämre prestanda eller introducerar nya fel

Ibland kan det ha motsatt effekt att lägga till DXVK i ett spel. Tyvärr finns det inget sätt för en slutanvändare att fixa sådana problem.

Uppstod ett spels prestandatank eller visuella fel efter att ha lagt till DXVK? Avsluta spelet och ta bort DXVK: s DLL: er från dess katalog.

3. Du vill spela ditt spel online

DXVK är ett kompatibilitetslager och påverkar bara den grafiska produktionen av ett spel. Ändå är vissa företag emot alla modifieringar av sina spel för att säkerställa en rättvis miljö för alla.

DXVK kanske inte "fuskar", men det är fortfarande en "spelmodifiering" och kan bli flaggad som sådan.

4. Spelet har redan inbyggt Vulkan-stöd

Om ett spel redan använder Vulkan API, som Doom Eternal, finns det ingen anledning att ställa in dess utdata till Direct3D för att sedan översätta det till Vulkan.

5. Spelet använder Direct3D 12

Eftersom Direct3D 12 är nästan helt i nivå med Vulkan, finns det inget att vinna på att översätta ett ultramodernt grafik-API till ett annat.

Förbättra dina gamla spel med "Översatt" 3D på Windows

Det som började som ett sätt att spela fler Windows-bundna spel på Linux, slutade med att bli en användbar kompatibilitetslösning och prestandahöjare. Så, ha ett färskt arkiv med DXVK: s DLL: er till hands. Lägg till dem i alla spel där du vill eliminera problem, förbättra dess prestanda, få smidigare action i spelet och förbättra responsen.

Även om det inte hjälper, tar det bara några sekunder att testa det, och oftare än inte kan du bli förvånad över resultatet.