A DXVK 2.5 réteg kiadása elérhető, amely megvalósítja a DXGI-t (DirectX Graphics Infrastructure), a Direct3D 8, 9, 10 és 11 verzióit, amelyek a Vulkan API-ra történő hívásátvitel segítségével működnek. A DXVK használatához Vulkan 1.3 támogatású illesztőprogramok szükségesek, mint például a Mesa RADV 24.0, NVIDIA 535.183.01, Intel ANV 24.0, AMDVLK 2024.Q1.3, AMDGPU-PRO és NVK 24.1. A DXVK alkalmazható 3D-alkalmazások és játékok futtatására Linux alatt a Wine segítségével, mint a Wine által beépített, OpenGL felett futó Direct3D megvalósítások magasabb teljesítményű alternatívája.
Főbb változások:
- A memória- és erőforráskezelő kódot teljesen újraírták a videomemória hatékonyabb kezelésére. Mostantól időszakonként defragmentálási folyamat indul, amely a nem használt memóriát visszaadja a rendszernek. A memória visszaadása akkor történik, ha a rendszerben memóriahiány van, vagy ha jelentős mennyiségű nem használt memória áll rendelkezésre (a folyamatnak kis mennyiségű nem használt memóriát hasznos megtartani, hogy felgyorsítsák a következő memóriaallokációkat).
A memóriafragmentáció csökkentésének köszönhetően jelentős csökkenés figyelhető meg a memória csúcsfogyasztásában olyan játékokban, mint például a God of War, bizonyos helyzetekben akár 1 GB-ra is csökkenve. Az új memória kezelő kód legjobb teljesítménye olyan illesztőprogramokkal érhető el, amelyek támogatják a Vulkan kiterjesztéseket, mint a VK_EXT_memory_budget és a VK_KHR_maintenance5. A defragmentálás engedélyezésének szabályozására a dxvk.enableMemoryDefrag beállítás áll rendelkezésre, amely az Intel ANV illesztőprogram esetén ki van kapcsolva.
- A Direct3D 8/9-hez támogatást valósítottunk meg az emulált kurzorokhoz, amely lehetővé teszi, hogy bármilyen képet megjelenítsünk a játékokban, mint egérkurzort. A változtatás megoldotta a kurzor eltűnésével kapcsolatos problémákat a Dungeon Siege 2, az Act of War és néhány régi, Direct3D 8 alapú játékban.
- Alapértelmezés szerint szigorú lebegőpontos számítási emulációt alkalmaznak NVIDIA 565.57.01 és újabb illesztőprogramok használata esetén.
- Munkálatokat végeztek a Direct3D 8/9 teljesítményének javítására mobileszközök GPU-ján.
- A Direct3D 11-ben a memóriaallokációs küszöbérték túllépése esetén csökkentették az erőforrások létrehozásához, betöltéséhez és visszaadásához szükséges műveletek intenzitását, ezzel növelve a stabilitást és csökkentve a memóriafogyasztást a 32 bites játékokban.
- A DXGI-n belüli virtuális keretgenerátorokban (SwapChain) megvalósították a bufercsere hatásokat, lehetővé téve a játékok számára, hogy olvassák a már megjelenített bufer tartalmát.
- A dxvk-native-hez egy SDL3 alapú backend került hozzáadásra.
- A memóriakezelés hatékonyságának növelése érdekében a Vulkan VK_EXT_pageable_device_local_memory kiterjesztését használták, amennyiben a driver támogatja azt.
- Megoldásra kerültek a következő játékokban előforduló problémák:
- Ascension to the Throne
- Call of Duty: Modern Warfare 2 Campaign Remastered
- Command & Conquer: Generals
- Diablo 4
- Dishonored 2
- King’s Bounty: Warriors of the North
- Rayman 3
- Ryse: Son of Rome
- Sekiro: Shadows Die Twice
- Tales of Arise
- The Sims 4
- Tomb Raider: Legend
- Total War: Rome II
- Vindictus
- Yakuza 0
- Yakuza Kiwami
Forrás: opennet.ru
