Wydanie projektu DXVK 1.3 z implementacją Direct3D 10/11 na bazie Vulkan API

uformowany uwalnianie międzywarstwowe DXVK 1.3, który zapewnia implementację DXGI (infrastruktura graficzna DirectX), Direct3D 10 i Direct3D 11, działając poprzez tłumaczenie wywołań do API Vulkan. Aby użyć DXVK wymagane wsparcie dla kierowców Vulkan APIJak na przykład
AMD RADV 18.3, 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 natywnej implementacji Direct3D 11 Wine działającej na OpenGL. W jakieś gry wydajność kombinacji Wine+DXVK inny od działania w systemie Windows tylko o 10-20%, podczas gdy przy korzystaniu z implementacji Direct3D 11 opartej na OpenGL wydajność spada bardziej znacząco.

Dodano ulepszenia:

  • Zaimplementowano optymalizację za pomocą instrukcji „discard” w shaderach, w oparciu o rozszerzenie Vulkan VK_EXT_shader_demote_to_helper_invocation i może poprawić wydajność w niektórych grach. Aby skorzystać z optymalizacji należy zaktualizować komponent i sterowniki winevulkan (Intel do Mesa 19.2-git i NVIDIA do zastrzeżonego sterownika 418.52.14-beta, sterowniki AMD nie obsługują jeszcze rozszerzenia VK_EXT_shader_demote_to_helper_invocation);
  • Zapewnione jest asynchroniczne przetwarzanie wyprowadzania wyniku renderowania na ekran (etap presentation). Aby zmniejszyć opóźnienia w głównym wątku renderowania, przetwarzanie danych wyjściowych odbywa się teraz w wątku przesyłania poleceń. Korzyści w zakresie wydajności przetwarzania asynchronicznego są szczególnie zauważalne w przypadku dużej liczby klatek na sekundę i transferów poleceń wymagających dużej ilości zasobów. Wśród gier, w których obserwuje się wzrost wydajności, Quake Champions odnotowuje się podczas pracy na systemach z procesorami graficznymi AMD;
  • Możliwe jest teraz ładowanie zasobów przy użyciu silników kopiujących dostarczonych przez urządzenie obsługujące Vulkan (obecnie obsługiwane tylko przez sterowniki AMDVLK i NVIDIA). Nowa funkcja pozwala na niewielką poprawę spójności czasu klatek w grach, które ładują dużą liczbę tekstur podczas rozgrywki;
  • Ulepszone rejestrowanie błędów występujących w warunkach braku pamięci;
  • Poprawiona kompatybilność z MSVC (Microsoft Visual C++);
  • Usunięto powtarzające się kontrole pętli podczas wnioskowania, które mogą znacznie zmniejszyć obciążenie procesora w scenariuszach z ograniczonym procesorem graficznym.
  • Naprawiono problem z podwójnym mapowaniem podzasobów obrazów, który występował w Final Fantasy XIV;
  • Naprawiono awarię spowodowaną nieprawidłowym zachowaniem metody RSGetViewport, która wystąpiła w grze Scrap Mechanic.

Źródło: opennet.ru

Dodaj komentarz