Die Version 2.2 des DXVK-Frameworks ist verfügbar und bietet eine Implementierung von DXGI (DirectX Graphics Infrastructure) sowie Direct3D 9, 10 und 11, die durch Aufruftransformationen in die Vulkan-API funktioniert. Um DXVK nutzen zu können, sind Treiber erforderlich, die die Vulkan-API 1.3 unterstützen, wie Mesa RADV 22.0, NVIDIA 510.47.03, Intel ANV 22.0 und AMDVLK. 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 Implementierungen von Direct3D 9/10/11 dar, die auf OpenGL basieren.
Wesentliche Änderungen:
- Die Unterstützung der D3D11On12-API wurde hinzugefügt, die es ermöglicht, Direct3D 11 über Direct3D 12 zu nutzen. Um D3D12 in neuen Spielen auf Basis der Unity-Engine, wie Lego Builder’s Journey, zu unterstützen, wurde in DXVK die Möglichkeit implementiert, D3D11-Geräte aus D3D12-Geräten zu erstellen, indem die Funktion D3D11On12CreateDevice und die Schnittstelle ID3D11On12Device verwendet werden.
- In der Implementierung von Direct3D 9 wurde die Unterstützung für die partielle Darstellung (Partial Presentation) hinzugefügt, die es ermöglicht, Teile des Fensters darzustellen, indem der Inhalt des Framebuffers (Backbuffer) in den Systemspeicher kopiert und anschließend mit der CPU neu gezeichnet wird. Diese Funktion verbessert die Kompatibilität mit Spiel-Launchern, die mit Microsoft WPF entwickelt wurden, geht jedoch mit einer Verringerung der Leistung einher. Zudem wurde das allgemeine Verhalten der virtuellen Framebuffer (SwapChain) optimiert, während die Unterstützung der Option d3d9.noExplicitFrontBuffer eingestellt wurde.
- Bei der Verwendung in Kombination mit Proton oder Wine wird standardmäßig die Erstellung von Protokolldateien eingestellt, und die Ausgabe von Diagnosenachrichten erfolgt in der Konsole mithilfe von wine-spezifischen Funktionen, was dem Verhalten von vkd3d-proton entspricht. Um die Erstellung von separaten Protokolldateien wiederherzustellen, kann die Umgebungsvariable DXVK_LOG_PATH gesetzt werden.
- Der Speicherverbrauch beim Erstellen ungenutzter D3D11-Geräte in Spielen wurde erheblich reduziert.
- Auf Systemen mit mehreren GPUs wurde die Erkennung der über DXGI verfügbaren Ausgabegeräte verbessert, was Leistungsprobleme in neuen Spielen auf Basis der RE-Engine (Reach for the Moon) behebt, die D3D12 verwenden.
- Probleme, die in Spielen auftraten, wurden behoben:
- Battle Fantasia Überarbeitete Edition
- Cold Fear
- Dawn of Magic 2
- DC Universe Online
- Far Cry 2
- Halo: The Master Chief Collection
- Warhammer 40k: Space Marine
- Jade Empire
- Sid Meier’s Pirates
- Total War: Shogun 2
Quelle: opennet.ru
