Випуск проекту DXVK 1.3 з реалізацією Direct3D 10/11 поверх API Vulkan

Сформовано випуск прошарку DXVK 1.3, що надає реалізацію DXGI (DirectX Graphics Infrastructure), Direct3D 10 та Direct3D 11, що працює через трансляцію дзвінків в API Vulkan. Для використання DXVK потрібно наявність драйверів з підтримкою Вулкан Апі, таких як
AMD RADV 18.3, NVIDIA 415.22, Intel ANV 19.0 та АМДВЛК.

DXVK може застосовуватися для запуску 3D-додатків та ігор в Linux за допомогою Wine, виступаючи як більш високопродуктивну альтернативу вбудованої у Wine реалізації Direct3D 11, що працює поверх OpenGL. У деяких іграх продуктивність зв'язки Wine+DXVK відрізняється від запуску в Windows всього на 10-20%, у той час як при використанні реалізації Direct3D 11 на базі OpenGL продуктивність знижується суттєвіше.

Додані покращення:

  • Реалізовано оптимізацію з використанням інструкції «discard» у шейдерах, засновану на Vulkan-розширенні VK_EXT_shader_demote_to_helper_invocation та здатну підвищити продуктивність у деяких іграх. Для використання оптимізації потрібно оновити компонент winevulkan та драйвери (Intel до Mesa 19.2-git та NVIDIA до пропрієтарного драйвера 418.52.14-beta, драйвери AMD поки не підтримують розширення VK_EXT_shader_demote_to_helper_invocation);
  • Забезпечено асинхронну обробку висновку результату рендерингу на екран (стадія Presentation). Для зменшення затримок в основному потоці рендерингу обробка виведення тепер виконується в потоці передачі команд (command submission thread). Виграш у продуктивності від асинхронної обробки особливо помітний при виведенні з високою частотою кадрів і ресурсомісткої передачі команд. Із ігор у яких спостерігається приріст продуктивності відзначається Quake Champions при запуску на системах з GPU AMD;
  • З'явилася можливість початкового завантаження ресурсів з використанням двигунів копіювання (copy engine), що надаються пристроєм із підтримкою Vulkan (поки підтримується лише драйверами AMDVLK та NVIDIA). Нова можливість дозволяє трохи покращити узгодженість часу кадру в іграх, що завантажують багато текстур під час гри;
  • Поліпшено ведення лога помилок, що виникають за умов нестачі пам'яті;
  • Поліпшено сумісність із MSVC (Microsoft Visual C++);
  • Прибрані циклічні перевірки, що повторюються, під час виведення, що може значно знизити навантаження на CPU в сценаріях з обмеженими GPU;
  • Усунено проблему з подвійним мапінгом субресурсів зображень, що виявлялася у грі Final Fantasy XIV;
  • Усунено крах через некоректну поведінку методу RSGetViewport, що виявлявся у грі Scrap Mechanic.

Джерело: opennet.ru

Додати коментар або відгук