Utgivelsen av DXVK 3.0

Etter et halvt års utvikling er den nyeste versjonen av DXVK (Direct3D to Vulkan Translation Layer) utgitt, et åpen kildekode-bibliotek som konverterer API-anrop fra Direct3D 8, 9, 10 og 11 til Vulkan-kommandoer. Dette gjør det mulig å kjøre 3D-applikasjoner og spill laget for Windows på systemer som ikke har direkte støtte for Direct3D, ved å bruke de mer effektive grafikk-API-ene i Vulkan.

Viktige endringer
Den nye versjonen har gått over til å bruke spesifikasjoner og utvidelser fra Vulkan 1.4, som vil kreve en kompatibel driver.

DXVK bruker nå dxbc-spirv for kompilering av shaderne for alle støttede shader-modeller. Dette løser flere problemer som tidligere var umulig å håndtere:
Renderingproblemer i spill som oppstår fordi spillene stoler på uforutsigbart oppførsel, eller fordi FXC i noen tilfeller genererer feil kode, som i Postal: Brain Damaged, Snowrunner.
Den genererte koden er mer kompakt enn bare den konverterte SPIR-V-koden, noe som betydelig reduserer minnebruken av DXVK. I spill som Overwatch eller God of War kan dette spare omtrent 1 GB systemminne.
Shaderkompilering er nå helt overført til arbeidsprosesser, noe som kan redusere oppstartstiden i spill som Days Gone og Final Fantasy XIV, eller i enkelte tilfeller redusere hakking. Tidligere utførte DXVK oversettelsen fra SPIR-V i applikasjonsstrømmen og kompilert bare de faktiske Vulkan-pipeline i arbeidsprosessene.
Det mellomliggende representasjonsformatet for kompilert shader etter DXVK blir nå cachelagret på disk inne i AppData/Local-katalogen til den aktuelle Wine-prefiksen. Dette er nødvendig siden kompileringstiden har økt sammenlignet med den gamle kompilatoren. Stien til cachen kan endres ved hjelp av miljøvariabelen DXVK_SHADER_CACHE_PATH.

Den nye Vulkan-utvidelsen VK_EXT_descriptor_heap brukes nå som standard i driverne som støtter det.
Det forventes at sammenlignet med den gamle implementeringen av binde-modellen basert på VK_EXT_descriptor_buffer, vil denne nye modellen gi omtrent samme ytelsessnivå relatert til CPU, samtidig som man unngår ytelsestap på Nvidia-GPU-er (krav om nvidia-drivers-595.84 og nyere).
Endringer i D3D9
For emulating the old fixed-function pipeline that allows D3D8 and D3D9 games to render without shaders, DXVK previously generated its own shader code on the fly based on the pipeline state. In some games, such as Unreal Tournament 2004, this could lead to noticeable stuttering even after prolonged gameplay.

To address this, DXVK now implements the fixed-function pipeline as a pair of uber shaders, for which optimized variants are compiled in the background.
Buffer load optimization
To better match Windows behavior, various types of buffers that were previously allocated directly in VRAM are now loaded on demand, and a memory limit strategy has also been implemented to fix address space-related crashes in several 32-bit D3D9 games.
These changes may also improve performance on systems without adjustable BAR size in such games as GTA IV.

On systems that sufficiently support VK_EXT_sample_locations and VK_EXT_extended_dynamic_state3, the rendering state D3DRS_MULTISAMPLEANTIALIAS now works correctly, allowing applications to use single-sample rasterization when rendering to multi-sample render targets. This resolves UI rendering issues in Anno 1701, Men of War Assault Squad, and similar problems in other games with MSAA enabled.

Common resources now work with the original Wine implementation and no longer require Proton-specific patches.

It's also worth mentioning many fixes for different games that will now perform better.

Kilde: linux.org.ru

Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere 🔥 Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere | ProHoster