Опубликован (https://github.com/doitsujin/dxvk/releases/tag/v1.1) выпуск прослойки DXVK 1.1 (https://github.com/doitsujin/dxvk/), предоставляющей реализацию DXGI (DirectX Graphics Infrastructure), Direct3D 10 и Direct3D 11, работающую через трансляцию вызовов в API Vulkan. Для использования DXVK требуется (https://github.com/doitsujin/dxvk/wiki/Driver-support) наличие драйверов с поддержкой API Vulkan (https://www.opennet.ru/opennews/art.shtml?num=48227), таких как
AMD RADV 19.1-git, AMDGPU PRO 18.50+, NVIDIA 418.49.04, Intel ANV 19.1-git и AMDVLK (https://www.opennet.ru/opennews/art.shtml?num=47816).
DXVK может применяться для запуска 3D-приложений и игр в Linux при помощи Wine, выступая в качестве более высокопроизводительной альтернативы встроенной в Wine реализации Direct3D 11, работающей поверх OpenGL. В некоторых играх (https://www.reddit.com/r/wine_gaming/comments/9cvfux/benchma.../) производительность связки Wine+DXVK отличается (https://github.com/doitsujin/dxvk/issues/67) от запуска в Windows всего на 10-20%, в то время как при использовании реализации Direct3D 11 на базе OpenGL производительность снижается более существенно. Ведётся работа (https://www.winehq.org/pipermail/wine-devel/2019-February/14...) по поставке (https://github.com/wine-mirror/wine/pull/13) DXVK как компонента wine-integration (https://github.com/doitsujin/dxvk/pull/926), поставляемого в форме отдельной Linux-библиотеки (libdxvk.so), которую напрямую можно использовать в Wine, без необходимости отдельной установки DXVK в форме Windows DLL.
Основные изменения в DXVK 1.1:
- Переработан интерфейс Querie (https://docs.microsoft.com/en-us/windows/desktop/api/d3d11/n...), применяемый для получения информации из 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 (https://docs.microsoft.com/en-us/windows/desktop/api/d3d11/n...), для работы которого требуется поддержка расширения 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".
URL: https://github.com/doitsujin/dxvk/releases/tag/v1.1
Новость: https://www.opennet.ru/opennews/art.shtml?num=50472