DXVK, ki je bil prvotno ustvarjen za Linux, vam lahko pomaga tudi "popraviti" stare igre v sistemu Windows in povečati njihovo zmogljivost. Evo, zakaj in kako.
Direct3D je že desetletja del iger v sistemu Windows in združuje segmentirano krajino strojne opreme osebnih računalnikov pod 3D omogočenim dežnikom. Vendar pa je aplikacija, ustvarjena predvsem za Linux, DXVK, včasih veliko boljša možnost za uporabo, tudi če uporabljate Windows.
Bi radi boljšo združljivost in, kar je še pomembneje, zmogljivost za vaše aplikacije in igre? Potem morate preizkusiti DXVK.
Težava z DirectX v sistemu Windows
Microsoft je ustvaril DirectX kot "poenoteno rešitev", ki je programerjem pomagala pri uporabi zmogljivosti strojne opreme katerega koli osebnega računalnika. Namesto pisanja različne kode za vsak del strojne opreme bi lahko razvijalci programske opreme "ciljali" na DirectX-ove knjižnice DirectDraw (2D grafika), Direct3D (strojno pospešeno 3D) in DirectSound (avdio). Nato naj Microsoftova rešitev "prevede" njihovo kodo v "materni jezik" vsakega dela strojne opreme.
DirectX je postal nenadomestljiva osnovna tehnologija v sistemu Windows in se od takrat razvija. Vendar pa je pri Direct3D majhen ulov: ni 100-odstotno združljiv za nazaj.
Microsoft in ustvarjalci grafičnih procesorjev, ki podpirajo Direct3D API (kot v »Nvidia, AMD in Intel«), so občasno opustil podporo za funkcije, uvedene v preteklih različicah Direct3D, ki pa nikoli niso pridobile oprijem. Tako se nekatere starejše igre morda ne bodo pravilno izvajale na sodobni grafični procesorji z najnovejšimi različicami Direct3D.
Kaj je Vulkan?
Domnevno bolj "odprt" odgovor na Microsoftov zaprtokodni Direct3D je bil OpenGL mutirana različica 3D grafičnih knjižnic, ki se uporabljajo v grafičnih delovnih postajah Silicon Graphics.
Vendar pa je OpenGL vedno zaostajal glede funkcij v primerjavi z Microsoftovim Direct3D. Sčasoma se je zdelo bolj racionalno znova zagnati prizadevanja. Zato je bil ustvarjen Vulkan, znan tudi kot "OpenGL Next", ki ponuja boljšo zmogljivost in večji nadzor nad strojno opremo.
Tako kot OpenGL in za razliko od Microsoftovega Direct3D, vezanega na Windows, je Vulkan "odprt" in uporablja več platform. Vulkan lahko uporabljate v sistemih Windows, Linux in celo pametnih telefonih. Čeprav ni izvorno podprt v računalnikih Mac, je tam uporaben prek MoltenVK.
To je bila kratka različica. Če želite izvedeti več o Vulkanu, si oglejte naš članek o kaj so knjižnice časa izvajanja Vulkan v sistemu Windows.
Kaj je DXVK?
DXVK je ovoj, ki "prevaja" Direct3D v Vulkan. V človeškem svetu je prevajalec lahko posrednik med angleško in japonsko govorečim, ki jima omogoča medsebojno razumevanje. Podobno lahko "ovoji" ali "prevajalske plasti" "prevzamejo" kodo, napisano za določen kos strojne opreme, platformo ali API, in jo prevedejo za izvajanje na drugem.
DXVK je bil prvotno razvit za Linux s podporo podjetja Valve, ki ga uporablja tudi v sistemih SteamOS in Steam Deck. Več o tem lahko izveste v našem članku, kjer smo videli kaj je Steam Proton in kako poganja igre Windows na Steam Deck.
Zakaj bi morali uporabljati DXVK v sistemu Windows?
Če igra že dobro deluje na vaši strojni opremi, ni razloga za uporabo DXVK. Toda nekatere igre, napisane za starejše različice DirectX-a, ne delujejo "pravilno" (če sploh) na novejših različicah DirectX-a in sodobni strojni opremi.
S "prevajanjem" stare kode Direct3D z napakami v sodobnejši API Vulkan je minimalna obremenitev zmogljivosti (če sploh). Hkrati lahko problematične igre s pokvarjeno grafiko ali manjkajočimi funkcijami spet postanejo popolnoma igralne.
Ker je Vulkan enak Direct3D 12 in sta oba veliko boljša (in hitrejša) od starejših različic Direct3D (kot smo videli, ko primerjali smo DirectX 11 VS DirectX 12), "prevajanje" starih iger Direct3D v Vulkan lahko včasih izboljša zmogljivost igre.
Intelovo delo na njihovih grafičnih procesorjih Arc je dokaz za to. Intel bi lahko poskusil dodati podporo za vsak posamezen starejši naslov v gonilnike GPU Arc. Namesto tega se je Intel odločil, da bo dodatno izboljšal DXVK. Začetni rezultati Intelovega "eksperimenta" vodijo do 2-kratnega povečanja zmogljivosti za starejše naslove, na desetine jih je mogoče predvajati "skozi" DXVK.
Kako uporabljati DXVK v sistemu Windows
Uporaba DXVK v operacijskem sistemu Windows je enostavna, saj ni treba ničesar prilagajati ali konfigurirati. Samo prenesti ga morate, ekstrahirati v pravilno mapo igre in že je pripravljen.
Vendar pa morate uporabiti pravilno različico DXVK, ki se ujema z različico Direct3D, ki jo uporablja vaša igra.
Verjetno bo lažje, če gremo skupaj skozi celoten postopek, da vidimo, kako lahko prenesete najnovejšo različico DXVK, identificirate "tehniko" svoje igre in namestite pravilne DLL-je v ustrezno mapo.
Kako prenesti DXVK
DXVK je odprtokodna programska oprema in je brezplačna za uporabo. Najnovejšo različico najdete na GitHubu.
- Obiščite DXVK uradna stran GitHub in kliknite na Zadnje povezava do različice na desni strani, pod Izdaje.
- Pomaknite se navzdol po strani z izdajami in poiščite Sredstva razdelek najnovejše različice. Kliknite najnovejši arhiv DXVK tar.gz, da ga prenesete. V času pisanja je bila različica 2.2.
- Preneseni arhiv nekam shranite, saj boste morali njegovo vsebino ekstrahirati v mapo vsake igre, ki jo želite zagnati z DXVK namesto z Direct3D.
Kako izbrati pravo različico DXVK
Če morate vedeti, katero različico Direct3D uporablja vaša igra, vam lahko pomaga spletno mesto PC Gaming Wiki.
- Obisk Wiki za PC igre z brskalnikom in uporabite iskalno polje zgoraj desno, da poiščete igro, ki ji želite dodati DXVK.
- Ko najdete svojo igro, obiščite njeno stran in se pomaknite navzdol, da pridete do Druge informacije razdelek. Obrnite pozornost na tabele API. Tam, na Tehnične specifikacije in Podprto boste videli različico Direct3D, ki jo uporablja vaša igra. Spodaj je Izvedljivo, 32-bitni, in 64-bitni stolpci vam bodo "povedali", katero arhitekturo naj izberete.
Kako dodati DXVK svojim igram
Zdaj, ko veste, katero različico Direct3D in arhitekturo procesorja uporablja vaša igra, lahko v njeno mapo dodate pravilno različico DXVK.
- Odprite arhiv DXVK s svojim najljubšim upraviteljem arhivov (za ta članek uporabljamo WinRAR) in vnesite eno mapo DXVK, ki jo boste tam videli.
- V notranjosti boste našli dve podmapi, po eno za vsako računalniško arhitekturo. Vnesite pravilnega za svojo igro. Tudi če je vaš OS 64-bitni, tako kot večina današnjih različic sistema Windows, če je vaša igra 32-bitna, izberite 32-bitno mapo.
- Izberite DXGI.DLL plus pravilen DLL za različico Direct3D vaša igra uporablja. Kot boste videli, obstajajo še trije DLL-ji, po eden za vsako od prejšnjih različic Direct3D: 9, 10 in 11.
- Poiščite lokalno mapo, v kateri je nameščena vaša igra, in poiščite podmapo z njeno izvršljivo datoteko (»datoteka, iz katere se igra izvaja«). Ekstrahirajte datoteke DLL iz prejšnjega koraka v to mapo.
Kako preizkusiti in primerjati svojo izboljšano igro
Če zdaj zaženete svojo igro, bi morala uporabljati Vulkan namesto Direct3D in upam, da deluje bolje.
Tudi če ne opazite dramatičnih sprememb v hitrosti sličic, je včasih izboljšave mogoče "občutiti" na druge načine. DXVK smo na primer preizkusili s klasičnim Batmanom: Arkham City na osebnem računalniku, opremljenem z Ryzen 5900x, 64 GB RAM-a in grafično kartico Nvidia RTX 3070. Naša strojna oprema je že presegla vrhunske specifikacije te stare igre in dosegala zelo visoke hitrosti sličic. Tudi če bi z Vulkanom prišli višje, razlika ne bi bila zlahka zaznavna.
Vendar se je dogajanje v igri zdelo bolj gladko. Prehodi med zasloni, nivoji nalaganja in pritiskanje Alt + Tab so bili z DXVK skoraj takojšnji.
Kdaj ne bi smeli uporabljati DXVK
DXVK ima številne prednosti in lahko prenese zmogljivost starejših iger v sodobno dobo. Kljub temu ni srebrna paleta za izboljšano delovanje in včasih se ga preprosto ne splača uporabljati.
1. DXVK ne izboljša učinkovitosti igre
Če ste svoji igri dodali DLL-je DXVK, vendar kasneje niste opazili nobene razlike, jih lahko znova odstranite, če želite. Za to lahko izbrišete DLL-je, ki ste jih dodali v mapo igre.
2. DXVK povzroča slabše delovanje ali uvaja nove napake
Včasih ima lahko dodajanje DXVK igri nasprotni učinek. Na žalost končni uporabnik ne more odpraviti takšnih težav.
Ali so se po dodajanju DXVK pojavile napake v zmogljivosti igre ali vizualne napake? Zapustite igro in iz imenika izbrišite datoteke DLL DXVK.
3. Želite igrati svojo igro na spletu
DXVK je združljivostna plast in vpliva samo na grafični rezultat igre. Kljub temu nekatera podjetja nasprotujejo kakršnim koli spremembam svojih iger, da bi zagotovila pravično okolje za vse.
DXVK morda ni "goljufanje", vendar je še vedno "sprememba igre" in bi lahko bil kot tak označen.
4. Igra že ima vgrajeno podporo za Vulkan
Če igra že uporablja API Vulkan, kot je Doom Eternal, ni razloga, da bi njen izhod nastavil na Direct3D, da bi ga nato prevedel v Vulkan.
5. Igra uporablja Direct3D 12
Ker je Direct3D 12 skoraj povsem enak Vulkanu, s prevajanjem enega ultra-modernega grafičnega API-ja v drugega ne morete ničesar pridobiti.
Izboljšajte svoje stare igre s "prevedenim" 3D v sistemu Windows
Kar se je začelo kot način igranja več iger, vezanih na Windows, v Linuxu, je na koncu postalo uporabna rešitev za združljivost in spodbujevalec zmogljivosti. Zato imejte pri roki nedavni arhiv DLL-jev DXVK. Dodajte jih v katero koli igro, kjer želite odpraviti napake, izboljšati njeno delovanje, zagotoviti bolj gladko delovanje v igri in izboljšati njeno odzivnost.
Tudi če na koncu ne pomaga, bo preizkušanje trajalo le nekaj sekund, rezultati pa vas bodo morda presenetili.