Opprinnelig laget for Linux, kan DXVK også hjelpe deg med å "fikse" gamle spill på Windows, og øke ytelsen deres. Her er hvorfor og hvordan.

Direct3D har vært en del av Windows-spilling i flere tiår, og forener det segmenterte PC-maskinvarelandskapet under én 3D-aktivert paraply. Imidlertid er en app laget primært for Linux, DXVK, noen ganger et mye bedre alternativ å bruke, selv om du er på Windows.

Vil du ha bedre kompatibilitet og, enda viktigere, ytelse for appene og spillene dine? Da må du prøve ut DXVK.

Problemet med DirectX på Windows

Microsoft skapte DirectX som en "enhetsløsning" som hjalp programmerere med å bruke alle PC-ens maskinvarefunksjoner. I stedet for å skrive forskjellig kode for hver maskinvaredel, kan programvareutviklere "målrette" DirectXs DirectDraw (2D-grafikk), Direct3D (maskinvareakselerert 3D) og DirectSound (lyd) biblioteker. La deretter Microsofts løsning "oversette" koden deres til "morsmålet" for hver maskinvaredel.

DirectX ble en uerstattelig kjerneteknologi i Windows og har utviklet seg siden. Det er imidlertid en liten hake med Direct3D: den er ikke 100 % bakoverkompatibel.

Microsoft, og skaperne av GPU-er som støtter Direct3D API (som i "Nvidia, AMD og Intel"), har av og til droppet støtte for funksjoner introdusert i tidligere versjoner av Direct3D, men som aldri fikk trekkraft. Dermed kan det hende at noen eldre spill ikke kjører riktig på en moderne GPU med de nyeste versjonene av Direct3D.

Hva er Vulkan?

Angivelig et mer "åpent" svar på Microsofts lukkede kildekode Direct3D, OpenGL var en mutert versjon av 3D-grafikkbibliotekene som ble brukt i Silicon Graphics' grafiske arbeidsstasjoner.

OpenGL har imidlertid alltid ligget etter funksjonsmessig, sammenlignet med Microsofts Direct3D. Etter hvert virket det mer rasjonelt å starte innsatsen på nytt. Det er derfor Vulkan, også kjent som "OpenGL Next", ble opprettet, og tilbyr bedre ytelse og økt kontroll over maskinvaren.

I likhet med OpenGL, og i motsetning til Microsofts Windows-bundne Direct3D, er Vulkan «åpen» og på tvers av plattformer. Du kan bruke Vulkan på Windows, Linux og til og med smarttelefoner. Selv om den ikke støttes på Mac-er, kan den brukes der gjennom MoltenVK.

Det var den korte versjonen. For å lære mer om Vulkan, sjekk artikkelen vår om hva Vulkan kjøretidsbiblioteker er i Windows.

Hva er DXVK?

DXVK er en innpakning som "oversetter" Direct3D til Vulkan. I den menneskelige verden kan en oversetter være en formidler mellom en engelsktalende og en japansktalende, slik at de kan forstå hverandre. På samme måte kan "wrappers" eller "oversettelseslag" "ta" kode skrevet for en bestemt maskinvare, plattform eller API, og oversette den til å kjøre på en annen.

DXVK ble opprinnelig utviklet for Linux med støtte fra Valve, som også bruker det på SteamOS og Steam Deck. Du kan lære mer om det i artikkelen vår der vi så hva er Steam Proton og hvordan det kjører Windows-spill på Steam Deck.

Hvorfor bør du bruke DXVK på Windows?

Hvis et spill allerede kjører bra på maskinvaren din, er det ingen grunn til å bruke DXVK. Men noen spill skrevet for eldre versjoner av DirectX kjører ikke "riktig" (hvis i det hele tatt) på nyere versjoner av DirectX og moderne maskinvare.

Ved å "oversette" gammel og buggy Direct3D-kode til det mer moderne Vulkan API, er det minimalt med ytelse (hvis noen). Samtidig kan problematiske spill med ødelagt grafikk eller manglende funksjoner bli fullt spillbare igjen.

Siden Vulkan er på nivå med Direct3D 12, og begge er mye bedre (og raskere) enn eldre versjoner av Direct3D (som vi så da vi sammenlignet DirectX 11 VS DirectX 12), å "oversette" gamle Direct3D-spill til Vulkan kan noen ganger forbedre spillets ytelse.

Intels arbeid med deres Arc GPU-er er et bevis på det. Intel kan prøve å legge til støtte for hver eneste eldre tittel i Arc GPU-drivere. I stedet bestemte Intel seg for å jobbe med å forbedre DXVK ytterligere. De første resultatene fra Intels "eksperiment" fører opp til en 2x økning i ytelse for eldre titler, med dusinvis gjengitt spillbare "gjennom" DXVK.

Slik bruker du DXVK på Windows

Det er enkelt å bruke DXVK på Windows, siden det ikke er noe å justere eller konfigurere. Du trenger bare å laste den ned, pakke den ut i spillets riktige mappe, og den er klar til bruk.

Du må imidlertid bruke den riktige DXVK-versjonen som samsvarer med Direct3D-versjonen som brukes av spillet ditt.

Det er sannsynligvis lettere hvis vi går gjennom hele prosessen sammen for å se hvordan du kan laste ned den nyeste versjonen av DXVK, identifisere spillets "teknologi" og installere de riktige DLL-ene i riktig mappe.

Hvordan laste ned DXVK

DXVK er åpen kildekode-programvare og gratis å bruke. Du finner den nyeste versjonen på GitHub.

  1. Besøk DXVK's offisielle GitHub-side og klikk på Siste versjonslink til høyre på siden, under Utgivelser.
  2. Rull ned på utgivelsessiden og finn Eiendeler delen av den siste versjonen. Klikk på det nyeste DXVK tar.gz-arkivet for å laste det ned. I skrivende stund var det versjon 2.2.
  3. Lagre det nedlastede arkivet et sted, for du må trekke ut innholdet til mappen for hvert spill du vil kjøre med DXVK i stedet for Direct3D.

Hvordan velge riktig DXVK-versjon

Hvis du trenger å vite hvilken versjon av Direct3D spillet ditt bruker, kan nettstedet PC Gaming Wiki hjelpe.

  1. Besøk PC Gaming Wiki med nettleseren din, og bruk søkefeltet øverst til høyre for å søke etter spillet du vil legge til DXVK.
  2. Når du finner spillet ditt, besøk siden og bla ned for å komme til Annen informasjon seksjon. Vend oppmerksomheten mot API-tabellene. Der, på Tekniske spesifikasjoner og Støttes kolonner, vil du se versjonen av Direct3D spillet ditt bruker. Under, den Kjørbar, 32-bit, og 64-bit kolonner vil "fortelle" deg hvilken arkitektur du bør velge.

Slik legger du til DXVK til spillene dine

Nå som du vet hvilken Direct3D-versjon og CPU-arkitektur spillet ditt bruker, kan du legge til den riktige versjonen av DXVK i mappen.

  1. Åpne DXVK-arkivet med din favorittarkivbehandler (for denne artikkelen bruker vi WinRAR), og skriv inn den enkle DXVK-mappen du vil se der.
  2. På innsiden finner du to undermapper, en for hver datamaskinarkitektur. Skriv inn den riktige for spillet ditt. Selv om operativsystemet ditt er 64-bit, som de fleste versjoner av Windows i dag, hvis spillet ditt er 32-bit, bør du gå for 32-bit-mappen.
  3. Velg DXGI.DLL pluss riktig DLL for versjonen av Direct3D spillet ditt bruker. Som du vil se, er det ytterligere tre DLL-er, en for hver av de tidligere versjonene av Direct3D: 9, 10 og 11.
  4. Finn den lokale mappen der spillet ditt er installert og finn undermappen med dens kjørbare ("filen som spillet kjøres fra"). Pakk ut DLL-ene fra forrige trinn til denne mappen.

Hvordan teste og benchmarke det forbedrede spillet ditt

Hvis du kjører spillet ditt nå, bør det bruke Vulkan i stedet for Direct3D og forhåpentligvis prestere bedre.

Selv om du ikke ser noen dramatiske endringer i bildefrekvenser, kan noen ganger forbedringene "føles" på andre måter. For eksempel prøvde vi DXVK med den klassiske Batman: Arkham City på en PC utstyrt med en Ryzen 5900x, 64 GB RAM og en Nvidia RTX 3070 GPU. Maskinvaren vår var allerede over dette gamle spillets toppspesifikasjoner, og oppnådde svært høye bildefrekvenser. Selv om de ble høyere med Vulkan, ville ikke forskjellen vært lett synlig.

Imidlertid føltes spillets handling jevnere. Overganger mellom skjermer, lastenivåer og å trykke Alt + Tab var nesten øyeblikkelig med DXVK.

Når du ikke bør bruke DXVK

DXVK har mange fordeler og kan bringe ytelsen til eldre spill inn i moderne tid. Til tross for dette er det ikke en sølvkule for forbedret ytelse, og noen ganger er det bare ikke verdt å bruke det.

1. DXVK forbedrer ikke spillets ytelse

Hvis du har lagt til DXVK DLL-ene til spillet ditt, men ikke så noen forskjell etterpå, kan du fjerne dem igjen hvis du vil. Du kan slette DLL-ene du har lagt til i et spills mappe for å gjøre det.

2. DXVK forårsaker dårligere ytelse eller introduserer nye feil

Noen ganger kan det å legge til DXVK i et spill ha motsatt effekt. Dessverre er det ingen måte for en sluttbruker å fikse slike problemer.

Oppstod et spills ytelsestank eller visuelle feil etter å ha lagt til DXVK? Avslutt spillet og slett DXVKs DLL-er fra katalogen.

3. Du vil spille spillet ditt online

DXVK er et kompatibilitetslag og påvirker kun den grafiske utgangen til et spill. Likevel er noen selskaper mot enhver endring av spillene deres for å sikre et rettferdig miljø for alle.

DXVK er kanskje ikke "juks", men det er fortsatt en "spillendring", og kan bli flagget som sådan.

4. Spillet har allerede innebygd Vulkan-støtte

Hvis et spill allerede bruker Vulkan API, som Doom Eternal, er det ingen grunn til å sette utdata til Direct3D for deretter å oversette det til Vulkan.

5. Spillet bruker Direct3D 12

Siden Direct3D 12 er nesten helt på nivå med Vulkan, er det ingenting å vinne på å oversette en ultramoderne grafikk-API til en annen.

Forbedre dine gamle spill med "oversatt" 3D på Windows

Det som startet som en måte å spille flere Windows-bundne spill på Linux, endte opp med å bli en nyttig kompatibilitetsløsning og ytelsesforsterker. Så hold et nylig arkiv med DXVKs DLL-er tilgjengelig. Legg dem til i et hvilket som helst spill der du ønsker å eliminere feil, forbedre ytelsen, få jevnere action i spillet og forbedre responsen.

Selv om det ikke ender opp med å hjelpe, vil det bare ta sekunder å prøve det, og oftere enn ikke vil du kanskje bli overrasket over resultatene.