Выпуск проекта DXVK 1.1 с реализацией Direct3D 10/11 поверх API Vulkan

6 апреля 2019 года

Опубликован выпуск прослойки DXVK 1.1, предоставляющей реализацию DXGI (DirectX Graphics Infrastructure), Direct3D 10 и Direct3D 11, работающую через трансляцию вызовов в API Vulkan. Для использования DXVK требуется наличие драйверов с поддержкой API Vulkan, таких как AMD RADV 19.1-git, AMDGPU PRO 18.50+, NVIDIA 418.49.04, Intel ANV 19.1-git и AMDVLK.

DXVK может применяться для запуска 3D-приложений и игр в Linux при помощи Wine, выступая в качестве более высокопроизводительной альтернативы встроенной в Wine реализации Direct3D 11, работающей поверх OpenGL. В некоторых играх производительность связки Wine+DXVK отличается от запуска в Windows всего на 10-20%, в то время как при использовании реализации Direct3D 11 на базе OpenGL производительность снижается более существенно. Ведётся работа по поставке DXVK как компонента wine-integration, поставляемого в форме отдельной Linux-библиотеки (libdxvk.so), которую напрямую можно использовать в Wine, без необходимости отдельной установки DXVK в форме Windows DLL.

Основные изменения в DXVK 1.1:

  • Переработан интерфейс Querie, применяемый для получения информации из GPU. Переработка позволила поднять производительность различных игр, особенно построенных на базе движка Unreal Engine 4. Для достижения максимальной производительности требуется наличие в драйверах Vulkan расширения VK_EXT_host_query_reset, появившегося в ветке Mesa 19.1-git и драйвере NVIDIA 418.49.04, а также использования Wine 4.5 или Proton 4.2. В конфигурациях без поддержки расширения VK_EXT_host_query_reset производительность некоторых игр, таких как Quake Champions, может оказаться ниже, чем при использовании DXVK 1.0;
  • Реализована начальная поддержка метода SetPredication, для работы которого требуется поддержка расширения VK_EXT_conditional_rendering;
  • Добавлена поддержка размещения кода шейдеров в памяти в сжатом виде и исключено хранение лишних копий шейдеров, что позволило существенно снизить потребление памяти в играх с большим числом шейдеров и немного ускорить компиляцию шейдеров. Например, в играх Overwatch, Quake Champions и Dishonored 2 после применения оптимизации потребление памяти снизилось на несколько сотен мегабайт;
  • В DLL обеспечено включение информации о версии DXVK;
  • Добавлены незначительные оптимизации операций мультисэмплинга;
  • Устранены крахи при использовании Windows-версии RenderDoc в wine;
  • Решены проблемы с отрисовкой в играх Dark Souls Remastered и Grim Dawn на системах с GPU NVIDIA;
  • На 5-10% увеличена производительность игры "Sekiro: Shadows Die Twice".

Дополнение: Выяснилось, что выпуск 1.1 содержит серьёзную регрессию, приводящую к зависаниям GPU, поэтому Philip Rebohle, автор и разработчик DXVK, отменил выпуск, не рекомендует использовать его и уже работает над обновлением с исправлением.

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Выпуск проекта DXVK 1.1 с реализацией Direct3D 10/11 поверх API Vulkan», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.