Die Version der DXVK-Schicht 1.10 ist jetzt verfügbar, die eine Implementierung von DXGI (DirectX Graphics Infrastructure), Direct3D 9, 10 und 11 bietet und über eine Anruftransformation auf die Vulkan-API funktioniert. Für die Nutzung von DXVK sind Treiber mit Unterstützung für die Vulkan-API 1.1 erforderlich, wie beispielsweise Mesa RADV 20.2, NVIDIA 415.22, Intel ANV 19.0 und AMDVLK. DXVK kann verwendet werden, um 3D-Anwendungen und Spiele unter Linux mithilfe von Wine auszuführen und bietet eine leistungsstärkere Alternative zu den in Wine integrierten Direct3D 9/10/11-Implementierungen, die auf OpenGL basieren.
Wesentliche Änderungen:
- Überflüssige Synchronisierungs-Handler, die beim Laden von Ressourcen in den D3D11- und D3D9-Implementierungen verwendet wurden, wurden entfernt. Diese Änderung hat die Leistung von Assassin’s Creed: Origins und anderen Spielen, die auf der AnvilNext-Engine basieren, erheblich verbessert und sich positiv auf die Leistung von Spielen wie Elex II, God of War und GTA IV ausgewirkt.
- Die Nutzung von D3D11_MAP_WRITE für Ressourcen, die in die GPU geladen werden, wurde optimiert, was die Leistung des Spiels Quantum und möglicherweise auch anderer Anwendungen steigert.
- Die Ausführung der UpdateSubresource-Operation wurde für die Aktualisierung kleiner Festplattenspeicher optimiert. Diese Änderung hat sich positiv auf die Leistung von God of War und möglicherweise anderen Spielen ausgewirkt.
- Die Verarbeitung von Ressourcen- und Zwischenpuffern in D3D11 wurde beschleunigt. Diese Änderung hat die CPU-Belastung in einigen Spielen reduziert.
- Der Debug-Bildschirm (HUD) wurde um nützliche Informationen zur Diagnose von Leistungsproblemen, wie Synchronisationsdaten, erweitert.
- Der GPU-Synchronisierungscode wurde von der Verwendung von Leerlaufzyklen (busy-waiting) befreit, wodurch der Energieverbrauch auf mobilen Geräten in einigen Spielen gesenkt werden konnte.
- Ein Stub für den Aufruf von 3D11On12CreateDevice wurde hinzugefügt, dessen Verwendung zuvor zu einem Absturz der Anwendungen führte.
- Die Leistung der Spiele Total War: Warhammer III, Resident Evil 0/5/6 und Resident Evil: Revelations 2 wurde verbessert.
- Probleme in den Spielen ArmA 2, Black Mesa, Age of Empires 2: Definitive Edition, Anno 1800, Final Fantasy XIV und Nier Replicant sowie The Evil Within wurden behoben.
Darüber hinaus hat das Unternehmen Valve die Version VKD3D-Proton 2.6 veröffentlicht, eine Abspaltung des vkd3d-Codebases, die entwickelt wurde, um die Unterstützung von Direct3D 12 im Proton-Spielepaket zu verbessern. VKD3D-Proton unterstützt spezifische Änderungen, Optimierungen und Verbesserungen für Proton, um die Leistung von Windows-Spielen auf Basis von Direct3D 12, die derzeit nicht im Hauptbestand von vkd3d enthalten sind, zu optimieren. Auch die Ausrichtung auf moderne Vulkan-Erweiterungen und die Funktionen der neuesten Grafikkartentreiber für die vollständige Kompatibilität mit Direct3D 12 wird hervorgehoben.
In der neuen Version:
- Probleme in den Spielen Horizon Zero Dawn, Final Fantasy VII: Remake, Warframe, Guardians of the Galaxy, Elden Ring und Age of Empires IV wurden behoben.
- Im DXIL wurde der generierte Shader-Code für vektorielle Lade- und Speicheroperationen verbessert.
- Die CPU-Belastung beim Kopieren von Deskriptoren wurde reduziert.
- Die D3D12-Pipeline-Bibliothek wurde neu geschrieben, wobei das Caching der SPIR-V-Darstellung, die aus DXBC/DXIL generiert wurde, sichergestellt wurde. Diese Änderungen führten zu einer schnelleren Ladezeit von Spielen wie Monster Hunter: Rise, Guardians of the Galaxy und Elden Ring.
- Das Shadermodell Version 6.6 wurde vollständig implementiert, einschließlich Unterstützung für den direkten Zugriff auf ResourceDescriptorHeap[], 64-Bit-Atomoperationen, der Methode IsHelperLane(), abgeleiteten Berechnungsschadern, dem Attribut WaveSize und gepackten mathematischen Intrinsics.
Zusätzlich veröffentlicht Valve den Code für den SteamOS Devkit Service und den SteamOS Devkit Client, die Implementierungen enthalten. Server Diese Clients ermöglichen das direkte Hochladen von eigenen Spiel-Builds vom PC auf die Steam Deck-Konsole sowie das Durchführen von Debugging und anderen begleitenden Aufgaben im Entwicklungsprozess.
Quelle: opennet.ru
