Die Veröffentlichung der DXVK 3.0 Schicht, die eine Implementierung von DXGI (DirectX Graphics Infrastructure), Direct3D 8, 9, 10 und 11 bietet, die ĂŒber Aufruftransformationen im Vulkan-API funktioniert, ist verfĂŒgbar. FĂŒr die Nutzung von DXVK sind Treiber mit UnterstĂŒtzung fĂŒr die Vulkan-API 1.4 erforderlich, wie NVIDIA 575.51.02, Mesa AMD RADV 25.0, NVIDIA 25.1 und Intel ANV 25.1. DXVK kann verwendet werden, um 3D-Anwendungen und Spiele unter Linux mit Wine auszufĂŒhren und stellt eine leistungsstĂ€rkere Alternative zu den in Wine integrierten Direct3D-Implementierungen dar, die ĂŒber OpenGL funktionieren.
HauptÀnderungen:
- FĂŒr alle unterstĂŒtzten Shader-Modelle wird der Shader-Compiler dxbc-spirv verwendet. Die Shader-Kompilierung wurde aus dem Hauptthread in separate Threads verlagert.
Caching des Zwischenergebnisses von Shadern auf der Festplatte wurde implementiert (der Cache wird im Unterverzeichnis AppData/Local im aktuellen Wine-PrÀfix gespeichert).
Die Verwendung von dxbc-spirv hat den Speicherverbrauch gesenkt, die Startzeit verkĂŒrzt, Ruckler ausgeschlossen und eine Reihe von Problemen behoben, die in Spielen wie Postal: Brain Damaged, Snowrunner, Overwatch, God of War, Days Gone und Final Fantasy XIV auftraten und die im alten Shader-Ăbersetzungscode nicht behoben werden konnten. - FĂŒr D3D9 wurde die UnterstĂŒtzung der Shader-Modelle 1-3 implementiert.
- StandardmĂ€Ăig wird die Vulkan-Erweiterung VK_EXT_descriptor_heap verwendet. Im Vergleich zum frĂŒher genutzten Deskriptor-Storage auf Basis der Vulkan-Erweiterung
VK_EXT_descriptor_buffer bietet die neue Implementierung das gleiche Leistungsniveau fĂŒr CPU-Operationen, verringert jedoch die Last auf der GPU, insbesondere bei NVIDIA-Grafikkarten. FĂŒr den Betrieb auf Systemen mit NVIDIA-Grafikkarten ist mindestens die Version 595.84 der proprietĂ€ren NVIDIA-Treiber erforderlich. Die Implementierung auf Basis von VK_EXT_descriptor_buffer wird als veraltet betrachtet und wird in einer der nĂ€chsten Versionen entfernt. - In der Implementierung von Direct3D 9 werden anstelle der On-the-Fly-Shader jetzt Uber-Shader verwendet, deren optimierte Versionen im Hintergrund kompiliert werden, was Probleme mit Rucklern einiger Ă€lterer Spiele, wie Unreal Tournament 2004, gelöst hat. Der Puffer wird nach Bedarf geladen, wie unter Windows, anstatt vorab im Videospeicher platziert zu werden, was AbstĂŒrze einiger 32-Bit-D3D9-Spiele aufgrund des begrenzten Adressraums beseitigt hat.
- Die korrekte Funktion des Multisampling (MSAA) im Modus D3DRS_MULTISAMPLEANTIALIAS auf Systemen, die die Vulkan-Erweiterungen VK_EXT_sample_locations und VK_EXT_extended_dynamic_state3 unterstĂŒtzen, wurde sichergestellt, wodurch Rendering-Probleme in Anno 1701, Men of War und anderen Spielen beim Aktivieren von MSAA behoben wurden.
- Die UnterstĂŒtzung fĂŒr die Verwendung von gemeinsamen Ressourcen (Shared resources) in den regulĂ€ren Versionen von Wine ohne zusĂ€tzliche Patches vom Proton-Projekt wurde sichergestellt.
- Die Umgebungsvariable DXVK_FRAME_RATE, die zur Begrenzung der Bildrate verwendet wurde, wurde entfernt. Stattdessen wird empfohlen, externe Limiter wie Gamescope und Mangohud zu verwenden. Um den integrierten Limiter zu aktivieren, kann die Einstellung "dxvk.maxFrameRate = n" verwendet werden.
- Probleme in den Spielen wurden gelöst:
- Bioshock Infinite
- Borderlands 2
- Colin McRae Rally 3
- Dirt Rally 2
- Fallout New Vegas
- Insurgency & Counter-Strike
- Jump Space
- Max Payne
- Railroad Tycoon 3
- Resident Evil 6
- Sang-Froid: Tales of Werewolves
- Sea Dogs
- Splinter Cell 4
- The I of the Dragon
- The Sims 3
- Total War: Pharaoh
- Witch on the Holy Night
- World of Final Fantasy
- Vietcong
- Die Anforderungen an die minimale Version der Grafik-API wurden auf Vulkan 1.4 erhöht.
FĂŒr den Betrieb werden jetzt mindestens die Treiberversionen AMD RADV 25.0, NVIDIA 575.51.02, NVIDIA 25.1 und Intel ANV 25.1 benötigt.
Quelle: opennet.ru
