Kínomban már mindent előszedek, hogy elodázzam a Witcher 3 elkerülhetetlen ötödik újrajátszását, és mivel a GTA V-öt meg a Red Dead Redemption 2-t nagyon élveztem (egyszer talán bejegyzés is lesz róluk), a Rockstar viszont azóta sem készült el újabb GTA epizóddal, így a negyedik résznek voltam kénytelen ismét nekifutni.
A Grand Theft Auto IV-et mindenki ismeri: a kettővel ezelőtti konzolgeneráción debütált 13 évvel ezelőtt és nem kis sikert könyvelhetett el magának. Nekem nem a kedvencem, valahogy nem az én világom Liberty City, a GTA3 sincs a "top GTA epizódok" listámon, de az ősi 3D epizódokhoz nem volt kedvem, szóval maradt ez.
A 2008-as rendszerkövetelményeket nyilván bőven túlteljesíti a gépem, mégsem volt örömteli a dolog, mert grafikai szinttől függetlenül lassú a játék és mikrolagokkal tarkított. Ráadásul valamiért nem gondolták, hogy bárkinek is igénye lehet Anti-Aliasingra ezért még ronda is.
A neten körbenézve aztán gyorsan kiderült, hogy nem én vagyok az egyetlen szerencsétlen, aki így járt, az /r/GTA tele van hasonló sirámokkal, állítólag a gyengén sikerült PC-re portolás az oka az egésznek és főleg contiggal való defrag meg hasonló nyilvánvaló hülyeségek és vudu varázslatok képviselik a megoldási javaslatok zömét, de a megoldást is ott találtam meg: válts Vulkanra.
Vulkanra? - kérdezheti az egyszeri játékos, talán DX10 sincs benne, nemhogy ilyen low-level API, a fogalomról se hallott még senki 8 évvel a Vulkan megjelenése előtt, akkor meg hogy?
A megoldás a DXVK projekt, amelynek megintcsak semmi köze a GTA-hoz, ugyanis elsősorban arra fejlesztik, hogy Linuxon is legyen rendes grafikus gyorsítása az eredetileg DirectX alapú játékoknak, azáltal, hogy a Linuxon natívan támogatott Vulkanra terelik a DX-es rendszerhívásokat.
Ugyanezt fogjuk mi is csinálni a GTA4-el, kihasználva azt, hogy a játék előnyben részesíti a saját mappájában fellelhető DirectX dll-eket a rendszerben találhatókhoz képest.
A teendő, hogy letöltjük a projekt GitHub oldaláról az elérhető legújabb dxvk-X.Y.tar.gz fájlt, és kicsomagoljuk belőle az x32 almappából a d3d9.dll
és dxgi.dll
fájlokat a GTA IV főkönyvtárába az indító exe mellé.
Ezen kívül két konfigfájlt is létrehoztam ugyanide, de ezek létfontosságáról nem vagyok meggyőződve, mindenesetre ideteszem a tartalmukat.
commandline.txt-nomemrestrict -norestrictions -percentvidmem 100 -availablevidmem 3000
-reservedApp 0 -managed
dxvk.confdxgi.maxFrameLatency = 1
d3d9.maxFrameLatency = 1
d3d9.maxAvailableMemory = 3000
Mindkét konfigban megtalálható a játék által felhasználható videómemória beállítása, ezt értelemszerűen mindenki igazítsa a saját VRAM mennyiségéhez.
Ezzel meg is vagyunk, nálam a játék innentől vajsimán futott a beállítások közt elérhető legmagasabb szinten, és még némi AA is előkerült valahonnan, szóval örömbódottá.
Már csak az a kérdés, hogy ez a trükk alkalmazható-e más játékok / játékmotorok esetében is?