Veröffentlichung von DXVK 3.0

Nach einem halben Jahr Entwicklung wurde eine neue Version von DXVK (Direct3D to Vulkan Translation Layer) veröffentlicht, einer offenen Bibliothek, die API-Aufrufe von Direct3D 8, 9, 10 und 11 in Vulkan-Befehle umwandelt. Sie ermöglicht es, 3D-Anwendungen und Spiele, die fĂŒr Windows entwickelt wurden, auf Systemen auszufĂŒhren, die keine native Direct3D-UnterstĂŒtzung bieten, und dabei die FĂ€higkeiten der effizienteren Grafik-API Vulkan zu nutzen.

Wesentliche Änderungen
In der neuen Version wurde die Nutzung der Spezifikationen und Erweiterungen von Vulkan 1.4 eingefĂŒhrt, was entsprechend erfordert einen kompatiblen Treiber.

DXVK verwendet nun dxbc-spirv zum Kompilieren von Shaders fĂŒr alle unterstĂŒtzten Shader-Modelle. Dies beseitigt eine Reihe von Problemen, die zuvor nicht gelöst werden konnten:
Rendering-Probleme in Spielen, die entweder darauf zurĂŒckzufĂŒhren sind, dass in den Spielen auf unbestimmtes Verhalten vertraut wird, oder dass FXC in einigen FĂ€llen fehlerhaften Code generiert, wie in Postal: Brain Damaged, Snowrunner.
Der generierte Code ist kompakter als einfach ĂŒbersetzter SPIR-V-Code, was den Speicherbedarf von DXVK erheblich reduziert. In Spielen wie Overwatch oder God of War kann dies etwa 1 GiB Arbeitsspeicher einsparen.
Die Shader-Kompilierung wurde jetzt vollstĂ€ndig auf Arbeitsprozesse verlagert, was die Startzeit in Spielen wie Days Gone und Final Fantasy XIV verkĂŒrzen oder in einigen FĂ€llen die HĂ€nger reduzieren kann. Zuvor fĂŒhrte DXVK die SPIR-V-Übersetzung im Anwendungs-Thread durch und kompilierte nur die tatsĂ€chlichen Vulkan-Pipelines in Arbeitsprozessen.
Die ZwischenreprÀsentation der kompilierten Shader von DXVK wird nun im Verzeichnis AppData/Local des aktuellen Wine-PrÀfixes auf der Festplatte zwischengespeichert. Dies ist notwendig, da die Kompilierungszeit im Vergleich zum alten Compiler gestiegen ist. Der Pfad zum Cache kann mit der Umgebungsvariable DXVK_SHADER_CACHE_PATH geÀndert werden.

Die neue Vulkan-Erweiterung VK_EXT_descriptor_heap wird nun standardmĂ€ĂŸig in Treibern verwendet, die sie unterstĂŒtzen.
Es wird erwartet, dass diese neue Bindungsmodell im Vergleich zur alten Implementierung des Modells, das auf VK_EXT_descriptor_buffer basiert, ungefĂ€hr das gleiche Maß an CPU-bezogener Leistung bietet, dabei aber Leistungseinbußen bei Nvidia-GPUs vermeidet (benötigt nvidia-drivers-595.84 oder neuer).
Änderungen an D3D9
Um die veraltete Fixed-Function-Pipeline zu emulieren, die es D3D8- und D3D9-Spielen ermöglicht, ohne Shader zu rendern, generierte DXVK zuvor eigenen Shader-Code zur Laufzeit basierend auf dem Pipeline-Zustand. In einigen Spielen, wie Unreal Tournament 2004, konnte dies zu merklichen Rucklern fĂŒhren, selbst nach lĂ€ngeren Spielperioden.

Um dies zu beheben, implementiert DXVK jetzt die Fixed-Function-Pipeline in Form von zwei Ubershaders, fĂŒr die optimierte Versionen im Hintergrund kompiliert werden.
Optimierung des Pufferladevorgangs
Um das Verhalten von Windows genauer nachzubilden, werden verschiedene Pufferarten, die zuvor direkt im VRAM gespeichert wurden, jetzt auf Abruf geladen, und es wurde eine Strategie zur Begrenzung des Arbeitsspeichers implementiert, die AbstĂŒrze im Zusammenhang mit dem Adressraum in einer Reihe von 32-Bit D3D9-Spielen behebt.
Diese Änderungen können auch die Leistung auf Systemen ohne verĂ€nderbare BAR-GrĂ¶ĂŸe in Spielen wie GTA IV verbessern.

In Systemen, die VK_EXT_sample_locations und VK_EXT_extended_dynamic_state3 ausreichend unterstĂŒtzen, funktioniert der Rendering-Zustand D3DRS_MULTISAMPLEANTIALIAS jetzt korrekt, wodurch Anwendungen Rasterisierung mit einer Probe beim Rendern in Ziel-Renderobjekte mit mehreren Proben verwenden können. Dies behebt Probleme mit der BenutzeroberflĂ€chen-Darstellung in Anno 1701, Men of War Assault Squad und Ă€hnlichen Problemen in anderen Spielen mit aktiviertem MSAA.

Gemeinsame Ressourcen funktionieren jetzt mit der originalen Implementierung von Wine und benötigen keine spezifischen Proton-Patches mehr.

Es sollten auch zahlreiche Fehlerbehebungen fĂŒr verschiedene Spiele erwĂ€hnt werden, die jetzt besser funktionieren.

Quelle: linux.org.ru

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster