Wydano wersję warstwy DXVK 2.7, która zapewnia implementację DXGI (DirectX Graphics Infrastructure), Direct3D 8, 9, 10 i 11, działającą poprzez translację wywołań w API Vulkan. Aby używać DXVK, wymagane są sterowniki obsługujące API Vulkan 1.3, takie jak Mesa RADV 25.0, NVIDIA 550.54.14 i Intel ANV 25.0. DXVK może być stosowany do uruchamiania aplikacji 3D i gier w systemie Linux przy użyciu Wine, stanowiąc bardziej wydajną alternatywę dla wbudowanych w Wine implementacji Direct3D działających na OpenGL.
Główne zmiany:
- Wprowadzono obowiązkowe rozszerzenie Vulkan VK_KHR_maintenance5, co zwiększyło wymagania dotyczące używanych sterowników. Do działania DXVK potrzebne są teraz przynajmniej sterowniki Vulkan RADV i ANV zawarte w Mesa 25.0 lub własnościowe sterowniki NVIDIA 550.54.14 (zaleca się używanie nowszych wersji Mesa 25.1 oraz NVIDIA 575.51.02). Wcześniej DXVK mógł działać z wersjami Mesa RADV 24.0, NVIDIA 535.183.01 oraz Intel ANV 24.0.
Zmiana w głównej mierze wpłynie na użytkowników platformy Windows, korzystających z GPU AMD Polaris i Vega, dla których wsparcie zostało zaprzestane w aktualnych sterownikach AMD dla Windows. Co więcej, z powodu rosnących problemów z kompatybilnością zdecydowano się wspierać sterowniki AMD dla Windows jedynie według pozostałych zasad.
- Zmodernizowano zarządzanie deskryptorami shaderów. Na systemach z relatywnie nowymi modelami GPU AMD i NVIDIA do pracy z deskryptorami domyślnie wykorzystywane jest rozszerzenie Vulkan VK_EXT_descriptor_buffer, pozwalające znacząco zmniejszyć obciążenie CPU. Zmiana ta umożliwiła zwiększenie wydajności gier, które zależą od wydajności CPU, takich jak Final Fantasy XIV, God of War, Metaphor: ReFantazio oraz Watch Dogs 2. W niektórych sytuacjach, pomimo bardziej stabilnej ogólnej wydajności, mogą występować drobne spadki wydajności w grach zależnych od wydajności GPU. Aby wyłączyć optymalizację, można użyć ustawienia dxvk.enableDescriptorBuffer.
- Na systemach z GPU Intel Battlemage i Lunar Lake domyślnie włączony jest tryb, który okresowo uruchamia proces defragmentacji i przywracania nieużywanej pamięci systemowi. Dzięki zmniejszeniu fragmentacji pamięci, zaobserwowano spadek szczytowego zużycia pamięci w grach. Do zarządzania włączeniem defragmentacji przewidziano ustawienie dxvk.enableMemoryDefrag.
- Na dyskretnych GPU możliwe jest teraz uwzględnienie przekazywanych przez sterownik danych o dozwolonym zużyciu pamięci wideo (budżet VRAM), a także bardziej aktywne zwracanie systemowi nieużywanych zasobów w przypadku braku pamięci w systemie. Zmiana ta pozwoliła zwiększyć wydajność w wielu grach działających na silniku Unity na systemach z ograniczoną ilością pamięci wideo.
- W celu uproszczenia wsparcia kodu zaprzestano wspierania przestarzałych lub rzadko używanych funkcji, takich jak pamięć podręczna stanów (state cache, która straciła sens po wprowadzeniu rozszerzenia VK_EXT_graphics_pipeline_library) oraz opcja d3d9.forceSwapchainMSAA.
- W sharderach D3D11 domyślnie włączono zerowanie przy inicjalizacji wszystkich zmiennych oraz buforów współdzielonych.
- Dodano wsparcie dla interfejsu ID3DDestructionNotifier.
- Wprowadzono optymalizacje, które zwiększyły wydajność gier działających na silniku Source.
- Rozwiązane problemy w grach:
- Astebreed
- GTR — FIA GT Racing Game
- JR EAST Train Simulator
- LEGO City Undercover
- Modulus
- Star Trek: Starfleet Command III
- Test Drive Unlimited 2
- Wargame: European Escalation
Źródło: opennet.ru
