Wydanie DXVK 1.10 i VKD3D-Proton 2.6, implementacje Direct3D dla systemu Linux

Dostępna jest wersja DXVK 1.10, która zapewnia implementację DXGI (Infrastruktura graficzna DirectX), Direct3D 9, 10 i 11, działającą poprzez translację wywołań do Vulkan API. DXVK wymaga sterowników obsługujących API Vulkan 1.1, takich jak Mesa RADV 20.2, NVIDIA 415.22, Intel ANV 19.0 i AMDVLK. DXVK może być używany do uruchamiania aplikacji i gier 3D w systemie Linux przy użyciu Wine, służąc jako wydajniejsza alternatywa dla wbudowanych w Wine implementacji Direct3D 9/10/11 działających na OpenGL.

Główne zmiany:

  • Usunięto niepotrzebne procedury obsługi synchronizacji wątków używane podczas ładowania zasobów w implementacjach D3D11 i D3D9. Zmiana znacząco poprawiła wydajność Assassin's Creed: Origins i innych gier opartych na silniku AnvilNext, a także wpłynęła pozytywnie na wydajność Elex II, God of War i GTA IV.
  • Zoptymalizowano wykorzystanie D3D11_MAP_WRITE dla zasobów załadowanych do GPU, co poprawiło wydajność gry Quantum i potencjalnie innych aplikacji.
  • Zoptymalizowano operację UpdateSubresource pod kątem aktualizacji małych stałych buforów. Zmiana miała pozytywny wpływ na działanie God of War i prawdopodobnie innych gier.
  • Przyspieszono przetwarzanie zasobów ładujących i buforów pośrednich w D3D11. Zmiana zmniejszyła obciążenie procesora w niektórych grach.
  • Do interfejsu debugowania dodano informacje przydatne do diagnozowania problemów z wydajnością, takie jak informacje o taktowaniu.
  • Kod synchronizacji GPU został wyeliminowany z cyklów zajętego oczekiwania, co zmniejszyło zużycie energii na urządzeniach mobilnych w niektórych grach.
  • Dodano kod pośredniczący do wywoływania 3D11On12CreateDevice, który wcześniej powodował awarie aplikacji.
  • Poprawiono wydajność gier Total War: Warhammer III, Resident Evil 0/5/6, Resident Evil: Revelations 2.
  • Problemy zostały rozwiązane w grach ArmA 2, Black Mesa, Age of Empires 2: Definitive Edition, Anno 1800, Final Fantasy XIV, Nier Replicant, The Evil Within.

Ponadto Valve opublikowało wersję VKD3D-Proton 2.6, rozwidlenie bazy kodu vkd3d zaprojektowane w celu ulepszenia obsługi Direct3D 12 w programie uruchamiającym gry Proton. VKD3D-Proton obsługuje specyficzne dla Protona zmiany, optymalizacje i ulepszenia w celu lepszej wydajności gier Windows opartych na Direct3D 12, które nie zostały jeszcze zastosowane w głównej części vkd3d. Wśród różnic widać także skupienie się na wykorzystaniu nowoczesnych rozszerzeń Vulkan i możliwościach najnowszych wydań sterowników graficznych w celu osiągnięcia pełnej kompatybilności z Direct3D 12.

W nowej wersji:

  • Problemy z Horizon Zero Dawn, Final Fantasy VII: Remake i Warframe, Guardians of the Galaxy, Elden Ring i Age of Empires: IV zostały rozwiązane.
  • DXIL ulepszył wygenerowany kod modułu cieniującego dla wektorowych operacji ładowania i przechowywania.
  • Zmniejszone obciążenie procesora podczas kopiowania deskryptorów.
  • Biblioteka potoków D3D12 została przepisana, aby zapewnić buforowanie widoku SPIR-V wygenerowanego z DXBC/DXIL. Zmiana pozwoliła na szybsze ładowanie takich gier jak Monster Hunter: Rise, Guardian of the Galaxy i Elden Ring.
  • Model modułu cieniującego 6.6 jest w pełni zaimplementowany, włączając obsługę bezpośredniego dostępu do ResourceDescriptorHeap[], 64-bitowe operacje atomowe, metodę IsHelperLane(), pochodne moduły cieniujące obliczeniowe, atrybut WaveSize i elementy wewnętrzne pakietu matematycznego (Intrinsics).

Dodatkowo możemy odnotować publikację przez Valve usługi SteamOS Devkit Service i kodu klienta SteamOS Devkit wraz z implementacją serwera i klienta, który umożliwia pobieranie zestawów własnych gier bezpośrednio z komputera na Steam Deck, a także wykonywanie debugowanie i inne powiązane zadania, które pojawiają się podczas procesu programowania.

Źródło: opennet.ru

Dodaj komentarz