22.04.2024

Выпуск DXVK 2.3, реализации Direct3D 9/10/11 поверх API Vulkan

Доступен выпуск прослойки DXVK 2.3, предоставляющей реализацию DXGI (DirectX Graphics Infrastructure), Direct3D 9, 10 и 11, работающую через трансляцию вызовов в API Vulkan. Для использования DXVK требуется наличие драйверов с поддержкой API Vulkan 1.3, таких как Mesa RADV 22.0, NVIDIA 510.47.03, Intel ANV 22.0 и AMDVLK. DXVK может применяться для запуска 3D-приложений и игр в Linux при помощи Wine, выступая в качестве более высокопроизводительной альтернативы встроенных в Wine реализаций Direct3D 9/10/11, работающих поверх OpenGL.

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

  • На системах, в которых поддерживается Vulkan-расширение VK_KHR_present_wait (появилось в Mesa 23.0) и включена вертикальная синхронизация (VSync) с кадровым гасящим импульсом, реализована передача событий с информацией о задержках формирования кадра после фактического показа изображения (завершения выполнения запроса отрисовки на GPU), а не при начале его отрисовки.

    Реализованная возможность позволяет снизить время отклика в некоторых играх, повысить точность DXGI-статистки о числе показанных кадров и повысить эффективность работы опций dxgi.maxFrameLatency и d3d9.maxFrameLatency. Кроме того, на системах, поддерживающих Vulkan-расширение VK_EXT_swapchain_maintenance1 (поддерживается при использовании композитного сервера Gamescope с опцией ENABLE_GAMESCOPE_WSI=1), изменение позволяет решить некоторые проблемы с производительностью в играх, задающих интервал отрисовки в привязке к отдельным кадрам.

  • Добавлен параметр конфигурации dxgi.hideNvidiaGpu, который пришёл на смену настройке dxgi.nvapiHack, объявленной устаревшей. Новый параметр унифицирован с похожими параметрами для GPU AMD и Intel, и отличается привязкой обходных решений проблем к конкретным приложениям, в которых они проявляются.
  • Настройки dxgi.tearFree и d3d9.tearFree объединены в общий параметр dxvk.tearFree.
  • Предоставлена возможность указания параметров конфигурации через переменную окружения DXVK_CONFIG.
  • При поддержке в системе Vulkan-расширения VK_EXT_depth_bias_control обеспечено корректное масштабирование смещения глубины, что решает проблемы с появлением артефактов при отрисовке теней в играх, использующих D3D9. Например, проблемы проявлялись в играх F.E.A.R., Far Cry 2 и Assassin’s Creed Brotherhood.
  • При поддержке в системе Vulkan-расширения VK_EXT_line_rasterization
    реализована возможность использования в приложениях плавных или прямоугольных линий.

  • При поддержке в системе Vulkan-расширения VK_KHR_maintenance5 в изображениях DXGI_FORMAT_A8_UNORM задействован соответствующий формат, предоставляемый графическим API Vulkan.
  • Процесс передачи команд в D3D9 приведён в соответствие с передачей команд в D3D11, что снижает задержки при доступе к ресурсам и повышает производительность игр, часто выполняющих синхронизацию с GPU.
  • Добавлен программный интерфейс, допускающий использование внешних библиотек (например, NVAPI) для включения HDR в различных играх на базе D3D11, таких как Elden Ring.
  • Устранены проблемы, проявляющиеся в играх: A Total War Saga: TROY, Far Cry 2, Halo Online, Lara Croft and the Temple of Osiris, RaceRoom Racing Experience, Spider Man: Shattered Dimensions, Test Drive Unlimited 2, The Sims 2, Titanfall, Train Simulator Classic и Tomb Raider Anniversary.

Источник: https://www.opennet.ru/opennews/art.shtml?num=59715 Источник.