Die Veröffentlichung der DXVK 2.5 ist verfügbar, die eine Implementierung von DXGI (DirectX Graphics Infrastructure), Direct3D 8, 9, 10 und 11 bietet, die durch die Transkription von Aufrufen in die Vulkan-API funktioniert. Um DXVK zu verwenden, sind Treiber erforderlich, die die Vulkan-API 1.3 unterstützen, wie z. B. Mesa RADV 24.0, NVIDIA 535.183.01, Intel ANV 24.0, AMDVLK 2024.Q1.3, AMDGPU-PRO und NVK 24.1. DXVK kann verwendet werden, um 3D-Anwendungen und Spiele unter Linux mit Hilfe von Wine auszuführen und stellt eine leistungsstärkere Alternative zu den in Wine integrierten Implementierungen von Direct3D dar, die auf OpenGL basieren.
Wesentliche Änderungen:
- Der Code zur Verwaltung von Speicher und Ressourcen wurde vollständig neu geschrieben, um eine effizientere Verarbeitung des Videospeichers zu gewährleisten. Jetzt wird regelmäßig ein Defragmentierungsprozess gestartet, der ungenutzten Speicher an das System zurückgibt. Die Rückgabe des Speichers wird bei Speichermangel im System oder bei Vorhandensein großer Mengen ungenutzten Speichers initiiert (das Beibehalten einer kleinen Menge ungenutzten Speichers ist nützlich, um nachfolgende Speichervorgänge zu beschleunigen).
Durch die Reduzierung der Speicherfragmentierung wird bei Spielen wie God of War eine signifikante Verringerung des Spitzen-Speicherverbrauchs festgestellt, die in einigen Situationen bis zu 1 GB beträgt. Die besten Ergebnisse der neuen Speicherverwaltungscode werden mit Treibern erzielt, die die Vulkan-Erweiterungen VK_EXT_memory_budget und VK_KHR_maintenance5 unterstützen. Für die Steuerung der Aktivierung der Defragmentierung gibt es die Einstellung dxvk.enableMemoryDefrag, die für den Intel ANV-Treiber deaktiviert ist.
- Für Direct3D 8/9 wurde die Unterstützung für emulierte Cursor implementiert, die es ermöglicht, in Spielen beliebige Bilder als Mauszeiger anzuzeigen. Diese Änderung löste Probleme mit dem Verschwinden des Cursors in Dungeon Siege 2, Act of War und einigen älteren Direct3D 8-Spielen.
- Strikte Emulation von Fließkomma-Berechnungen ist standardmäßig aktiviert, wenn NVIDIA 565.57.01 oder neuere Treiberversionen verwendet werden.
- Die Leistung von Direct3D 8/9 auf mobilen GPUs wurde verbessert.
- In Direct3D 11 wurde die Reduzierung der Intensität bei der Erstellung, dem Laden und der Rückgabe von Ressourcen implementiert, wenn ein bestimmter Schwellenwert des zugewiesenen Speichers überschritten wird, was die Stabilität erhöht und den Speicherverbrauch in 32-Bit-Spielen senkt.
- In DXGI wurden in austauschbaren virtuellen Frame-Puffern (SwapChain) Effekte der sequenziellen Buffer-Ersetzung implementiert, die es Spielen ermöglichen, den Inhalt bereits angezeigter Buffer zu lesen.
- Für dxvk-native wurde ein Backend auf Basis der Bibliothek SDL3 hinzugefügt.
- Zur Verbesserung der Speichermanagementeffizienz wird die Vulkan-Erweiterung VK_EXT_pageable_device_local_memory verwendet, sofern der Treiber dies unterstützt.
- Probleme, die in Spielen auftraten, wurden behoben:
- Ascension to the Throne
- Call of Duty: Modern Warfare 2 Campaign Remastered
- Command & Conquer: Generals
- Diablo 4
- Dishonored 2
- King’s Bounty: Warriors of the North
- Rayman 3
- Ryse: Son of Rome
- Sekiro: Shadows Die Twice
- Tales of Arise
- The Sims 4
- Tomb Raider: Legend
- Total War: Rome II
- Vindictus
- Yakuza 0
- Yakuza Kiwami
Quelle: opennet.ru
