DXVK, pôvodne vytvorený pre Linux, vám môže tiež pomôcť „opraviť“ staré hry v systéme Windows a zvýšiť ich výkon. Tu je dôvod a ako.
Direct3D je súčasťou hier vo Windowse už celé desaťročia a zjednocuje segmentovaný hardvér PC pod jeden dáždnik s podporou 3D. Aplikácia vytvorená primárne pre Linux, DXVK, je však niekedy oveľa lepšou voľbou, aj keď používate Windows.
Chceli by ste lepšiu kompatibilitu a, čo je dôležitejšie, výkon pre vaše aplikácie a hry? Potom musíte vyskúšať DXVK.
Problém s DirectX v systéme Windows
Microsoft vytvoril DirectX ako „jednotné riešenie“, ktoré pomáhalo programátorom využívať hardvérové možnosti akéhokoľvek PC. Namiesto písania odlišného kódu pre každú hardvérovú časť by vývojári softvéru mohli „zacieliť“ na DirectDraw (2D grafika), Direct3D (hardvérovo akcelerované 3D) a DirectSound (audio) knižnice DirectX. Potom nechajte riešenie Microsoftu „preložiť“ ich kód do „rodného jazyka“ každej hardvérovej časti.
DirectX sa stal nenahraditeľnou základnou technológiou v systéme Windows a odvtedy sa vyvíja. Direct3D má však malý háčik: nie je 100% spätne kompatibilný.
Spoločnosť Microsoft a tvorcovia GPU, ktoré podporujú rozhranie Direct3D API (ako v prípade „Nvidia, AMD a Intel“), občas upustila od podpory pre funkcie zavedené v minulých verziách Direct3D, ktoré sa však nikdy nezískali trakcia. Preto niektoré staršie hry nemusia správne fungovať na modernom GPU s najnovšími verziami Direct3D.
Čo je Vulkan?
Údajne „otvorenejšia“ odpoveď na Microsoft Direct3D s uzavretým zdrojom, OpenGL bola mutovaná verzia 3D grafických knižníc používaných v grafických pracovných staniciach Silicon Graphics.
OpenGL však vždy zaostáva, pokiaľ ide o funkcie, v porovnaní s Direct3D od Microsoftu. Nakoniec sa zdalo racionálnejšie reštartovať úsilie. Preto vznikol Vulkan, známy aj ako „OpenGL Next“, ktorý ponúka lepší výkon a zvýšenú kontrolu nad hardvérom.
Rovnako ako OpenGL a na rozdiel od Microsoft Windows-viazaného Direct3D, Vulkan je "otvorený" a multiplatformový. Vulkan môžete používať na Windows, Linux a dokonca aj na smartfónoch. Hoci nie je natívne podporovaný na počítačoch Mac, je tam použiteľný cez MoltenVK.
To bola krátka verzia. Ak sa chcete dozvedieť viac o Vulkane, prečítajte si náš článok na čo sú knižnice runtime Vulkan v systéme Windows.
čo je DXVK?
DXVK je obal, ktorý „prekladá“ Direct3D na Vulkan. V ľudskom svete môže byť prekladateľ sprostredkovateľom medzi anglicky a japonsky hovoriacim, čo im umožňuje navzájom si porozumieť. Podobne „obaly“ alebo „prekladové vrstvy“ môžu „vziať“ kód napísaný pre konkrétny hardvér, platformu alebo rozhranie API a preložiť ho na spustenie na inom.
DXVK bol pôvodne vyvinutý pre Linux s podporou od Valve, ktoré ho používa aj na SteamOS a Steam Deck. Viac sa o tom dozviete v našom článku, kde sme to videli čo je Steam Proton a ako spúšťa hry pre Windows na Steam Deck.
Prečo by ste mali používať DXVK v systéme Windows?
Ak už hra na vašom hardvéri funguje dobre, nie je dôvod používať DXVK. Niektoré hry napísané pre staršie verzie DirectX však nefungujú „správne“ (ak vôbec) na novších verziách DirectX a modernom hardvéri.
„Prekladom“ starého a zabugovaného kódu Direct3D do modernejšieho API Vulkan je minimálny poplatok za výkon (ak vôbec). Zároveň môžu byť problematické hry s nefunkčnou grafikou alebo chýbajúcimi funkciami opäť plne hrateľné.
Keďže Vulkan je na rovnakej úrovni ako Direct3D 12 a obe sú oveľa lepšie (a rýchlejšie) ako staršie verzie Direct3D (ako sme videli, keď porovnávali sme DirectX 11 VS DirectX 12), „preklad“ starých Direct3D hier do Vulkan môže niekedy zlepšiť výkon hry.
Práca Intelu na ich Arc GPU je toho dôkazom. Intel by sa mohol pokúsiť pridať podporu pre každý jeden starší titul v ovládačoch Arc GPU. Namiesto toho sa Intel rozhodol pracovať na ďalšom vylepšení DXVK. Počiatočné výsledky „experimentu“ spoločnosti Intel viedli k 2-násobnému zvýšeniu výkonu pre staršie tituly s desiatkami vykreslených hrateľných „cez“ DXVK.
Ako používať DXVK v systéme Windows
Používanie DXVK v systéme Windows je jednoduché, pretože nie je potrebné nič upravovať ani konfigurovať. Stačí si ju stiahnuť, rozbaliť do správneho priečinka hry a je pripravená.
Musíte však použiť správnu verziu DXVK, ktorá sa zhoduje s verziou Direct3D používanou vašou hrou.
Pravdepodobne bude jednoduchšie, ak prejdeme celým procesom spoločne, aby sme zistili, ako si môžete stiahnuť najnovšiu verziu DXVK, identifikovať „technológiu“ vašej hry a nainštalovať správne knižnice DLL do správneho priečinka.
Ako stiahnuť DXVK
DXVK je softvér s otvoreným zdrojovým kódom a je bezplatný. Jeho najnovšiu verziu nájdete na GitHub.
- Navštívte DXVK's oficiálna stránka GitHub a kliknite na Najnovšie odkaz na verziu v pravej časti stránky pod Vydania.
- Prejdite nadol na stránke vydaní a nájdite Aktíva časť najnovšej verzie. Kliknite na najnovší archív DXVK tar.gz a stiahnite si ho. V čase písania tohto článku to bola verzia 2.2.
- Stiahnutý archív si niekde uložte, pretože jeho obsah budete musieť extrahovať do priečinka každej hry, ktorú chcete spustiť s DXVK namiesto Direct3D.
Ako si vybrať správnu verziu DXVK
Ak potrebujete vedieť, ktorú verziu Direct3D vaša hra používa, môže vám pomôcť webová stránka PC Gaming Wiki.
- Navštívte Wiki pre hry na PC pomocou prehliadača a pomocou vyhľadávacieho poľa vpravo hore vyhľadajte hru, do ktorej chcete pridať DXVK.
- Keď nájdete svoju hru, navštívte jej stránku a prejdite nadol na stránku Ďalšie informácie oddiele. Obráťte svoju pozornosť na tabuľky API. Tam, na Technické špecifikácie a Podporované v stĺpcoch uvidíte verziu Direct3D, ktorú vaša hra používa. Pod Spustiteľný súbor, 32-bitový, a 64-bitový stĺpce vám „povedia“, akú architektúru by ste si mali zvoliť.
Ako pridať DXVK do svojich hier
Teraz, keď viete, ktorú verziu Direct3D a architektúru procesora vaša hra používa, môžete do jej priečinka pridať správnu verziu DXVK.
- Otvorte archív DXVK pomocou svojho obľúbeného správcu archívov (pre tento článok používame WinRAR) a zadajte jeden priečinok DXVK, ktorý tam uvidíte.
- Vnútri nájdete dva podpriečinky, jeden pre každú architektúru počítača. Zadajte ten správny pre vašu hru. Aj keď je váš operačný systém 64-bitový, ako väčšina dnešných verzií Windowsu, ak je vaša hra 32-bitová, mali by ste zvoliť 32-bitový priečinok.
- Vyberte DXGI.DLL plus správnu knižnicu DLL pre verziu Direct3D vaša hra používa. Ako uvidíte, existujú tri ďalšie knižnice DLL, jedna pre každú z predchádzajúcich verzií Direct3D: 9, 10 a 11.
- Nájdite lokálny priečinok, kde je vaša hra nainštalovaná, a nájdite podpriečinok s jej spustiteľným súborom („súbor, z ktorého sa hra spúšťa“). Do tohto priečinka extrahujte knižnice DLL z predchádzajúceho kroku.
Ako otestovať a porovnať svoju vylepšenú hru
Ak teraz spustíte hru, mala by používať Vulkan namiesto Direct3D a dúfajme, že bude fungovať lepšie.
Aj keď nevidíte žiadne dramatické zmeny v snímkovej frekvencii, niekedy možno vylepšenia „cítiť“ aj inak. Napríklad sme vyskúšali DXVK s klasickým Batman: Arkham City na PC vybavenom Ryzen 5900x, 64 GB RAM a Nvidia RTX 3070 GPU. Náš hardvér už prekročil špičkové špecifikácie tejto starej hry a dosahoval veľmi vysoké obnovovacie frekvencie. Aj keby sa s Vulkanom dostali vyššie, rozdiel by nebol ľahko postrehnuteľný.
Akcia v hre však bola plynulejšia. Prechody medzi obrazovkami, úrovne načítania a stláčanie Alt + Tab boli s DXVK takmer okamžité.
Kedy by ste nemali používať DXVK
DXVK má mnoho výhod a môže priniesť výkon starších hier do modernej doby. Napriek tomu to nie je strieborná guľka pre lepší výkon a niekedy sa to jednoducho neoplatí používať.
1. DXVK nezlepšuje výkon hry
Ak ste do svojej hry pridali knižnice DLL DXVK, ale potom ste nevideli žiadny rozdiel, môžete ich znova odstrániť, ak chcete. Ak to chcete urobiť, môžete odstrániť knižnice DLL, ktoré ste pridali do priečinka hry.
2. DXVK spôsobuje horší výkon alebo prináša nové chyby
Niekedy pridanie DXVK do hry môže mať opačný efekt. Bohužiaľ, koncový používateľ nemôže takéto problémy vyriešiť.
Objavili sa po pridaní DXVK výkonnostné alebo vizuálne chyby hry? Ukončite hru a odstráňte knižnice DLL DXVK z jej adresára.
3. Chcete hrať svoju hru online
DXVK je vrstva kompatibility a ovplyvňuje iba grafický výstup hry. Niektoré spoločnosti sú však proti akejkoľvek úprave svojich hier, aby zabezpečili spravodlivé prostredie pre všetkých.
DXVK nemusí byť „podvádzanie“, ale stále je to „úprava hry“ a môže byť ako taká označená.
4. Hra už má vstavanú podporu Vulkan
Ak hra už používa Vulkan API, ako napríklad Doom Eternal, nie je dôvod nastaviť jej výstup na Direct3D, aby ste ho potom preložili do Vulkanu.
5. Hra využíva Direct3D 12
Keďže Direct3D 12 je takmer úplne na rovnakej úrovni ako Vulkan, prekladom jedného ultramoderného grafického API do druhého nezískate nič.
Vylepšite svoje staré hry pomocou „Preloženého“ 3D v systéme Windows
To, čo začalo ako spôsob hrania viacerých hier viazaných na Windows v systéme Linux, sa skončilo ako užitočné riešenie kompatibility a zvýšenie výkonu. Majte teda po ruke najnovší archív knižníc DLL DXVK. Pridajte ich do akejkoľvek hry, kde by ste chceli odstrániť chyby, zlepšiť jej výkon, dosiahnuť plynulejšiu akciu v hre a zlepšiť jej odozvu.
Aj keď to nakoniec nepomôže, vyskúšanie zaberie len pár sekúnd a častejšie vás môžu prekvapiť výsledky.