Wydanie DXVK 3.0, implementacja Direct3D 8/9/10/11 na API Vulkan

Wydanie warstwy DXVK 3.0 jest dostępne, oferujące implementację DXGI (DirectX Graphics Infrastructure), Direct3D 8, 9, 10 i 11, działającą przez translację wywołań do API Vulkan. Do korzystania z DXVK wymagane są sterowniki z obsługą API Vulkan 1.4, takie jak NVIDIA 575.51.02, Mesa AMD RADV 25.0, NVIDIA 25.1 i Intel ANV 25.1. DXVK może być używane do uruchamiania aplikacji 3D i gier w systemie Linux za pomocą Wine, stanowiąc wydajniejszą alternatywę dla wbudowanych w Wine implementacji Direct3D działających na OpenGL.

Główne zmiany:

  • Dla wszystkich obsługiwanych modeli shaderów wykorzystano kompilator shaderów dxbc-spirv. Kompilacja shaderów została przeniesiona z głównego wątku do osobnych wątków.
    Wprowadzono buforowanie na dysku pośrednich reprezentacji shaderów (bufor jest przechowywany w podkatalogu AppData/Local w bieżącym prefiksie Wine).
    Zastosowanie dxbc-spirv pozwoliło na zmniejszenie zużycia pamięci, skrócenie czasu uruchamiania, wyeliminowanie zacięć oraz pozbycie się wielu problemów występujących w grach Postal: Brain Damaged, Snowrunner, Overwatch, God of War, Days Gone i Final Fantasy XIV, które nie mogły być rozwiązane w starym kodzie translacji shaderów.
  • Dla D3D9 wprowadzono wsparcie dla modeli shaderów 1-3.
  • Domyślnie wykorzystano rozszerzenie Vulkan VK_EXT_descriptor_heap. W porównaniu do wcześniej używanego przechowalnika deskryptorów opartego na rozszerzeniu Vulkan VK_EXT_descriptor_buffer, nowa implementacja zapewnia ten sam poziom wydajności operacji wykonywanych na CPU, ale zmniejsza obciążenie GPU, szczególnie przy użyciu kart graficznych NVIDIA. Do działania na systemach z kartami graficznymi NVIDIA wymagana jest co najmniej wersja zamkniętych sterowników NVIDIA 595.84. Implementacja oparta na VK_EXT_descriptor_buffer została oznaczona jako przestarzała i zostanie usunięta w jednym z kolejnych wydań.
    W implementacji Direct3D 9 zamiast generowania shaderów w czasie rzeczywistym używane są teraz uber-shadery, których zoptymalizowane wersje są kompilowane w tle, co rozwiązało problemy z zacięciami niektórych starych gier, takich jak Unreal Tournament 2004. Zapewniono ładowanie buforów w razie potrzeby, jak w Windows, zamiast wcześniejszego umieszczania ich w pamięci wideo, co wyeliminowało awaryjne zakończenia niektórych 32-bitowych gier D3D9 z powodu ograniczonej przestrzeni adresowej.
  • Zastosowanie dxbc-spirv pozwoliło na zmniejszenie zużycia pamięci, skrócenie czasu uruchamiania, wyeliminowanie zacięć oraz pozbycie się wielu problemów występujących w grach Postal: Brain Damaged, Snowrunner, Overwatch, God of War, Days Gone i Final Fantasy XIV, które nie mogły być rozwiązane w starym kodzie translacji shaderów.
  • Zapewnia poprawne działanie multiseksplinowania (MSAA) w trybie D3DRS_MULTISAMPLEANTIALIAS na systemach wspierających rozszerzenia Vulkan VK_EXT_sample_locations i VK_EXT_extended_dynamic_state3, co rozwiązało problemy z renderowaniem w Anno 1701, Men of War i innych grach przy włączonym MSAA.
  • Zapewniono wsparcie dla pracy z zasobami współdzielonymi (Shared resources) w standardowych wersjach Wine bez dodatkowych poprawek od projektu Proton.
  • Usunięto zmienną środowiskową DXVK_FRAME_RATE, która była używana do ograniczania liczby klatek na sekundę (Frame rate limiter); zamiast niej zaleca się korzystanie zewnętrznych ograniczników, takich jak Gamescope i Mangohud. Aby włączyć wbudowany ogranicznik, można użyć ustawienia „dxvk.maxFrameRate = n”.
  • Rozwiązane problemy w grach:
    • Bioshock Infinite
    • Borderlands 2
    • Colin McRae Rally 3
    • Dirt Rally 2
    • Fallout New Vegas
    • Insurgency & Counter-Strike
    • Jump Space
    • Max Payne
    • Railroad Tycoon 3
    • Resident Evil 6
    • Sang-Froid: Tales of Werewolves
    • Sea Dogs
    • Splinter Cell 4
    • The I of the Dragon
    • The Sims 3
    • Total War: Pharaoh
    • Witch on the Holy Night
    • World of Final Fantasy
    • Vietcong
  • Wymagania dotyczące minimalnej wersji API graficznego podniesione do Vulkan 1.4.
    Do działania wymagane są teraz co najmniej wersje sterowników AMD RADV 25.0, NVIDIA 575.51.02, NVIDIA 25.1 i Intel ANV 25.1.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster