kibocsátás réteget , amely megvalósítja a DXGI-t (DirectX Graphics Infrastructure), a Direct3D 10-et és a Direct3D 11-et, amelyek a Vulkan API-n keresztül történő híváslefordításon keresztül működnek. A DXVK használatához a , mint
AMD RADV 18.3, NVIDIA 415.22, Intel ANV 19.0 és .
A DXVK 3D alkalmazások és játékok futtatására használható Linux alatt a Wine segítségével, mint egy nagyobb teljesítményű alternatíva az OpenGL-re épülő, a Wine-ba beépített Direct3D 11-hez képest. A a Wine+DXVK páros teljesítménye csak 10-20%-kal alacsonyabb, míg az OpenGL alapú Direct3D 11 implementáció használatakor a teljesítmény jelentősen csökken.
Hozzáadott fejlesztések:
- Bevezetésre került az optimalizálás a Vulkan-kiterjesztésen alapuló „discard” utasítással a shader-ekben, amely képes javítani a teljesítményt egyes játékokban. Az optimalizáció használatához frissíteni kell a winevulkan összetevőt és az illesztőprogramokat (Intel esetén a Mesa 19.2-git-re és NVIDIA esetén a 418.52.14-beta zárójelentésű, proprietáris illesztőprogramra, az AMD illesztőprogramok számára pedig az VK_EXT_shader_demote_to_helper_invocation kiterjesztés nem támogatott);
- Biztosítva lett az aszinkron példányosítás a renderelés kimenetének képernyőre történő megjelenítésére (stádium ). A késleltetések csökkentése érdekében a kimenet feldolgozása most a parancsok benyújtásának szálán történik (command submission thread). Az aszinkron feldolgozásból származó teljesítménynövekedés különösen észlelhető a magas képkocka sebességgel és a nagy erőforrásigényű parancsok továbbítása során. Az egyik játék, amelynél teljesítménynövekedés figyelhető meg, a Quake Champions AMD GPU-ra történő indítása során keletkezik;
- Lehetőség nyílt az erőforrások kezdeti betöltésére a Vulkan API-t támogató eszközök által biztosított másoló motorok (copy engine) használatával (jelenleg csak az AMDVLK és NVIDIA illesztőprogramok támogatottak). Az új lehetőség kissé javítja a játékokban a renderelési időkonzisztenciát, amely sok textúrát tölt be a játék során;
- Javították a memóriahiányos körülmények között fellépő hibák naplózását;
- Javították a MSVC-vel (Microsoft Visual C++) való kompatibilitást;
- Eltávolították az ismétlődő ciklikus ellenőrzéseket a kivitel során, ami jelentősen csökkentheti a CPU terhelését a GPU korlátolt szcenáriók esetén;
- Megoldották az alacsonyabb alrészforrások képeinek dupla leképezése miatti problémát, ami a Final Fantasy XIV játékban megnyilvánult;
- Megszüntették a lezárást, amely a RSGetViewport metódus helytelen viselkedéséből adódott, és a Scrap Mechanic játékban jelentkezett.
Forrás: opennet.ru
