Die Version der DXVK-Schicht 2.5 ist verfügbar und bietet eine Implementierung von DXGI (DirectX Graphics Infrastructure), Direct3D 8, 9, 10 und 11, die über die Übersetzung von Aufrufen in die Vulkan-API funktioniert. Um DXVK verwenden zu können, sind Treiber erforderlich, die die Vulkan-API 1.3 unterstützen, wie 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 Wine auszuführen und stellt eine leistungsstärkere Alternative zu den in Wine integrierten Direct3D-Implementierungen dar, die über OpenGL laufen.
Hauptänderungen:
- Der Code zur Verwaltung von Speicher und Ressourcen wurde komplett neu geschrieben, um effizienter mit Videospeicher zu arbeiten. Jetzt wird regelmäßig ein Defragmentierungsprozess gestartet, der nicht genutzten Speicher an das System zurückgibt. Die Rückgabe von Speicher wird initiiert, wenn im System nicht genügend Speicher vorhanden ist oder eine große Menge ungenutzten Speichers vorhanden ist (es ist hilfreich, einen kleinen Teil ungenutzten Speichers zu belassen, um nachfolgende Speicherzuweisungsoperationen zu beschleunigen).
Dank der Reduzierung der Speicherfragmentierung wurde ein erheblicher Rückgang des Spitzenverbrauchs von Speicher in Spielen wie God of War festgestellt, in einigen Situationen bis zu 1 GB. Die beste Leistung des neuen Speichermanagementcodes wird mit Treibern erzielt, die die Vulkan-Erweiterungen VK_EXT_memory_budget und VK_KHR_maintenance5 unterstützen. Zum Steuern 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, wodurch es möglich ist, in Spielen beliebige Bilder als Mauszeiger anzuzeigen. Diese Änderung hat Probleme mit dem Verschwinden des Cursors in Dungeon Siege 2, Act of War und einigen älteren Spielen auf Basis von Direct3D 8 gelöst.
- Standardmäßig ist eine strenge Emulation von Berechnungen mit Fließkommazahlen aktiviert, wenn NVIDIA 565.57.01 und neuere Treiberversionen verwendet werden.
- Es wurde daran gearbeitet, die Leistung von Direct3D 8/9 auf mobilen GPUs zu verbessern.
- In Direct3D 11 wurde die Intensität der Vorgänge zum Erstellen, Laden und Zurückgeben von Ressourcen reduziert, wenn ein bestimmter Schwellenwert des zugewiesenen Speichers überschritten wird, was zu mehr Stabilität und einem geringeren Speicherverbrauch in 32-Bit-Spielen führt.
- In DXGI sind in austauschbaren virtuellen Framebuffern (SwapChain) Effekte der sequentiellen Pufferersetzung implementiert, die es Spielen ermöglichen, den Inhalt bereits angezeigter Puffer zu lesen.
- Für dxvk-native wurde ein Backend auf Basis der SDL3-Bibliothek hinzugefügt.
- Zur Steigerung der Effizienz des Speichermanagements wird die Vulkan-Erweiterung VK_EXT_pageable_device_local_memory verwendet, sofern der Treiber dies unterstützt.
- Probleme wurden behoben, die in den folgenden Spielen auftraten:
- 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
- Die Sims 4
- Tomb Raider: Legend
- Total War: Rome II
- Vindictus
- Yakuza 0
- Yakuza Kiwami
Quelle: opennet.ru
