Megjelent a DXVK 3.0

Hat hónappal a fejlesztés után megjelent a DXVK (Direct3D to Vulkan Translation Layer) új verziója, amely egy nyílt könyvtár, amely a Direct3D 8, 9, 10 és 11 API-hívásokat Vulkan parancsokká alakítja. Ez lehetővé teszi a Windows számára készült 3D alkalmazások és játékok futtatását olyan rendszereken, ahol a Direct3D natív támogatása hiányzik, kihasználva a gyorsabb Vulkan grafikus API lehetőségeit.

Főbb változások
Az új verzióban áttértek a Vulkan 1.4 specifikációk és kiterjesztések használatára, aminek megfelelően szükség lesz kompatibilis illesztőprogramra.

A DXVK mostantól a dxbc-spirv t használja a támogatott árnyalatmodellekhez tartozó árnyékolók fordításához. Ez megszünteti a korábban megoldhatatlan problémák egy részét:
A játékok renderelési problémái, amelyeket vagy a játékok meghatározatlan viselkedésére alapoznak, vagy az FXC által bizonyos esetekben generált hibás kód okozott, mint például a Postal: Brain Damaged és a Snowrunner.
A generált kód tömörebb, mint a közvetlenül SPIR-V-re átkonvertált kód, ami jelentősen csökkenti a DXVK által használt memória mennyiségét. Olyan játékokban, mint az Overwatch vagy a God of War, ez körülbelül 1 GB rendszer memória megtakarítást eredményez.
Az árnyékolók fordítása most teljesen áthelyeződött a háttérszálakra, ami csökkentheti a betöltési időt olyan játékokban, mint a Days Gone és a Final Fantasy XIV, vagy bizonyos esetekben csökkentheti a leállásokat. Korábban a DXVK az SPIR-V átkonvertálást az alkalmazás szálában hajtotta végre, és csak a valódi Vulkan csővezetékeket fordította le a háttérszálakon.
A DXVK által lefordított árnyékolók köztes reprezentációja mostantól a Wine aktuális prefixének AppData/Local mappájában van cache-elve. Ez szükséges, mivel a fordítási idő megnövekedett a régi fordítóhoz képest. A cache elérési útja megváltoztatható a DXVK_SHADER_CACHE_PATH környezeti változóval.

Az új Vulkan VK_EXT_descriptor_heap kiterjesztés mostantól alapértelmezésként használatos a támogató illesztőprogramokban.
A várakozások szerint az új kötési modell, amely a VK_EXT_descriptor_buffer alapú régi megvalósításhoz képest, körülbelül ugyanazt a CPU-hoz kapcsolódó teljesítményszintet nyújtja, miközben elkerüli a Nvidia GPU teljesítménycsökkenését (nvidia-drivers-595.84 vagy újabb szükséges).
D3D9-es változások
A régi, fix funkciókkal rendelkező csővezetékek emulálásához, amely lehetővé teszi a D3D8 és D3D9 játékok számára a shader nélküli renderelést, a DXVK korábban a csővezeték állapotának alapján valós időben generálta a saját shader kódját. Néhány játékban, mint például az Unreal Tournament 2004, ez jelentős akadozáshoz vezethetett még hosszan tartó játékidő után is.

Ennek javítása érdekében a DXVK most már a fix funkciós csővezetékeket két uber shader formájában valósítja meg, amelyek optimalizált változatai háttérben kerülnek összeállításra.
A pufferbetöltés optimalizálása
A Windows viselkedésének pontosabb modellezése érdekében a korábban közvetlenül a VRAM-ba helyezett különböző puffer típusok most már igény szerint töltődnek be, emellett megvalósításra került egy memóriahasználati korlátozó stratégia is, amely javítja a címzési térhez kapcsolódó összeomlásokat számos 32-bites D3D9 játékban.
Ezek a változások a BAR méretének módosítására képes rendszereken is javíthatják a teljesítményt olyan játékokban, mint a GTA IV.

Azokban a rendszerekben, amelyek kellőképpen támogatják a VK_EXT_sample_locations és VK_EXT_extended_dynamic_state3 kiterjesztéseket, a D3DRS_MULTISAMPLEANTIALIAS renderelési állapota most már helyesen működik, lehetővé téve a programok számára az egy mintás rasterizálást több mintás renderelési célobjektumokban. Ez megoldja az Anno 1701, Men of War Assault Squad és más játékok felhasználói felületének renderelésével kapcsolatos problémáit MSAA bekapcsolt állapotban.

A közös erőforrások most már az eredeti Wine implementációval működnek, és már nem igényelnek Proton-specifikus javításokat.

Ezen kívül érdemes megemlíteni, hogy számos javítás történt különböző játékok esetében, amelyek most már jobban működnek.

Forrás: linux.org.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster