Zuletzt aktualisiert am

DXVK 3.0 mit neuem Shader-Compiler und Vulkan 1.4-Anforderung veröffentlicht

DXVK 3.0 führt einen neuen Shader-Compiler ein, sorgt in einigen Spielen für einen geringeren Speicherverbrauch, bietet Verbesserungen für D3D9 und erfordert Treiber, die mit Vulkan 1.4 kompatibel sind.
Eine Übersetzung von 🇬🇧 Linuxiac.com

DXVK hat soeben Version 3.0 veröffentlicht – ein umfangreiches Update der Direct3D-zu-Vulkan-Übersetzungsschicht, die von Linux-Spielern über Wine und Proton häufig genutzt wird, um Windows-Spiele unter Linux auszuführen.

Die wichtigste Neuerung ist die Einführung von dxbc-spirv für die Shader-Kompilierung. Dieser ersetzt den bisherigen Shader-Übersetzungscode für alle unterstützten Modelle und behebt Rendering-Probleme, die zuvor nicht behoben werden konnten, darunter solche, die durch undefiniertes Spielverhalten oder ungültigen Code des FXC-Compilers von Microsoft verursacht wurden.

Der neue Compiler generiert kompakteren SPIR-V-Code, wodurch sich der Speicherverbrauch von DXVK in einigen Spielen verringert. Bei Overwatch und God of War beispielsweise kann der Speicherbedarf um etwa 1 GB sinken.

Zudem läuft die Shader-Kompilierung nun vollständig auf Worker-Threads. Bisher wurden Worker-Threads nur für die Vulkan-Pipeline-Kompilierung verwendet, während die Shader-Übersetzung auf dem Anwendungs-Thread erfolgte, was die Startzeiten in einigen Spielen verkürzte.

Eine weitere wesentliche Änderung ist die standardmäßige Verwendung der Vulkan-Erweiterung VK_EXT_descriptor_heap auf unterstützten Treibern, wodurch das in DXVK 2.7 eingeführte, auf Descriptor-Puffern basierende Bindungsmodell ersetzt wird.

Das Descriptor-Heap-Modell bietet eine ähnliche CPU-gebundene Leistung und reduziert GPU-gebundene Leistungseinbußen auf NVIDIA-GPUs. Es ist die NVIDIA-Treiberversion 595.84 oder neuer erforderlich; ältere Treiber nutzen diese Funktion aufgrund von Leistungseinbußen nicht.

DXVK 3.0 führt außerdem Verbesserungen für ältere Direct3D 8- und 9-Spiele ein. Die veraltete Fixed-Function-Pipeline wird nun mithilfe eines Paares von Ubershadern verwaltet, wobei optimierte Varianten im Hintergrund kompiliert werden, sobald Spiele verschiedene Fixed-Function-Zustände konfigurieren.

Darüber hinaus verfügt das D3D9-Backend nun über Optimierungen beim Hochladen von Puffern. Mehrere Puffertypen werden bei Bedarf hochgeladen, anstatt direkt im VRAM abgelegt zu werden, wobei zusätzliche Logik zum Einsatz kommt, um den Speicherverbrauch zu begrenzen.

Gemeinsam genutzte Ressourcen funktionieren nun mit der Upstream-Implementierung von Wine und benötigen keine Proton-spezifischen Patches mehr. Die bisherige Methode bleibt vorübergehend bestehen, um die Kompatibilität mit älteren Proton-Versionen zu gewährleisten, wird jedoch in Zukunft entfernt.

Weitere Verbesserungen umfassen Korrekturen für Vulkan-Validierungsfehler, die Software-Vertex-Verarbeitung in D3D8/9-Spielen, korrigierte Nebelberechnungen mit festen Funktionen, reduzierter CPU-Overhead in gängigen D3D9-Pfaden, verbesserte D3D9-Shader-Konstanten-Uploads, verstärkte Nutzung der asynchronen Übertragungswarteschlange für VRAM-Uploads sowie Unterstützung für die D3D11-Funktion Class Linkage.

Zudem sind mehrere spielspezifische Fehlerbehebungen enthalten. Für BioShockInfinite wurde ein Problem mit dem Sampler-Pool behoben, das zu Flackern führte. Bei Borderlands 2 wurde das Flackern von Gras bei aktivierter anisotroper Filterung behoben. Fallout New Vegas erhielt eine Korrektur für die Tiefenauflösung bei bestimmten Mods, und bei Max Payne wurde ein Absturz beim Start mit mehreren angeschlossenen Monitoren behoben.

Zu den weiteren betroffenen Titeln gehören Colin McRae Rally 3, Counter-Strike: Global Offensive, Insurgency, Railroad Tycoon 3, Sang-Froid: Tales of Werewolves, Splinter Cell 4, Die Sims 3, Total War: Pharaoh, Witch on the Holy Night und World of Final Fantasy.

🎓 Wichtig ist, dass DXVK 3.0 nun Funktionen und Erweiterungen benötigt, die mit Vulkan 1.4 eingeführt wurden. Daher benötigen Nutzer einen Treiber, der Vulkan 1.4 unterstützt – was kein Problem darstellen sollte, sofern der Treiber nicht bereits mehrere Jahre alt ist.

Windows-Nutzer mit AMD-GPUs der Serien RDNA1 und RDNA2 sollten beachten, dass der Windows-Treiber von AMD für diese GPUs keine Funktionsupdates mehr erhält, nur noch das langsamere Legacy-Binding-Modell unterstützt und erhebliche DXVK-Leistungsprobleme aufweist. Das Projekt empfiehlt betroffenen Nutzern, bei DXVK 2.x zu bleiben oder auf Linux umzusteigen.

Weitere Details finden Sie im Changelog.

 

Spendieren Sie Bobby einen ☕ Ko-fi

s3n🧩net wünscht viel Vergnügen

Comments