A fost lansată o versiune a stratului DXVK 2.5, care oferă implementarea DXGI (Infrastructura grafică DirectX), Direct3D 8, 9, 10 și 11, funcționând prin traducerea apelurilor în API Vulkan. Pentru utilizarea DXVK, este necesară prezența driverelor care suportă API Vulkan 1.3, cum ar fi Mesa RADV 24.0, NVIDIA 535.183.01, Intel ANV 24.0, AMDVLK 2024.Q1.3, AMDGPU-PRO și NVK 24.1. DXVK poate fi utilizat pentru a rula aplicații și jocuri 3D în Linux folosind Wine, acționând ca o alternativă cu performanțe superioare la implementările Direct3D încorporate în Wine, care funcționează peste OpenGL.
Modificări principale:
- Codul de gestionare a memoriei și resurselor a fost complet rescris pentru a îmbunătăți eficiența cu care este utilizată memoria video. Acum se declanșează periodic un proces de defragmentare, care returnează memoria neutilizată sistemului. Returnarea memoriei este inițiată atunci când există o lipsă de memorie în sistem sau când există un volum mare de memorie neutilizată (lăsând un mic volum de memorie neutilizată pentru proces este util pentru accelerarea operațiunilor de alocare ulterioare de memorie).
Datorită reducerii fragmentării memoriei, s-a observat o scădere semnificativă a consumului maxim de memorie în jocuri precum God of War, ajungând în anumite situații până la 1 GB. Cel mai bun rezultat al noului cod de gestionare a memoriei este obținut cu drivere care suportă extensiile Vulkan VK_EXT_memory_budget și VK_KHR_maintenance5. Pentru a controla activarea defragmentării, există setarea dxvk.enableMemoryDefrag, care este dezactivată pentru driverul Intel ANV.
- Pentru Direct3D 8/9 a fost implementat suportul pentru cursorii emulați, ceea ce permite afișarea oricăror imagini ca și cursor de mouse în jocuri. Această modificare a rezolvat problemele legate de dispariția cursorului în Dungeon Siege 2, Act of War și în alte jocuri mai vechi bazate pe Direct3D 8.
- În mod implicit, este activată o emulație stringentă a calculelor cu virgulă mobilă atunci când se utilizează NVIDIA 565.57.01 și versiuni mai noi ale driverelor.
- Au fost desfășurate lucrări pentru a îmbunătăți performanța Direct3D 8/9 pe GPU-uri mobile.
- În Direct3D 11 a fost implementat un limitator al intensității operațiunilor de creare, încărcare și returnare a resurselor în cazul depășirii unui anumit prag de memorie alocată, ceea ce permite creșterea stabilității și reducerea consumului de memorie în jocuri pe 32 de biți.
- În DXGI, efectele de înlocuire secvențială a bufferelor sunt implementate în framebuffer-urile virtuale schimbabile (SwapChain), permițând jocurilor să citească conținutul bufferelor deja afișate.
- Pentru dxvk-native a fost adăugat un backend bazat pe biblioteca SDL3.
- Pentru a îmbunătăți eficiența gestionării memoriei, a fost utilizată extensia Vulkan VK_EXT_pageable_device_local_memory, în cazul în care este acceptată de driver.
- Problemele apărute în jocuri au fost remediate:
- 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
Sursa: opennet.ro
