Обновление VKD3D-Proton 3.0.1: улучшения производительности игр Direct3D 12 в Linux и SteamOS

2026-05-06 68 комментарии
Обновление VKD3D-Proton 3.0.1 приносит поддержку D3D12 view instancing, VK_EXT_present_timing, AGS WMMA для FSR4 Ray Reconstruction и оптимизации для мобильных GPU – улучшения для Crimson Desert, Starfield и Halo Infinite

VKD3D-Proton используется в составе Proton и Proton Experimental для совместимости Windows-игр с Linux и SteamOS. Для большинства пользователей компонент обновляется автоматически вместе с Proton и не требует отдельной установки.

По словам разработчика Hans-Kristian Arntzen, релиз 3.0.1 станет последним перед внедрением расширения VK_EXT_descriptor_heap. Работа над поддержкой descriptor heap уже ведётся, но в текущую версию изменения не вошли. Номер релиза 3.0.1 вместо 3.1 выбран по техническим причинам и не отражает масштаб обновления (прошлая версия – VKD3D-Proton 3.0: Поддержка FSR4, новый DXBC-бэкенд и масштабные улучшения для игр в Linux).

Главное в VKD3D-Proton 3.0.1

  • Экспериментальная поддержка D3D12 view instancing – включена для Crimson Desert (1.04+).
  • Реализация VK_EXT_present_timing для плавной подачи кадров при SyncInterval > 1.
  • Поддержка AGS WMMA-операций для FSR4 Ray Reconstruction и Denoiser в Crimson Desert.
  • Расширенные интерфейсы NVAPI с поддержкой Shader Execution Reordering через свежий dxvk-nvapi.
  • Серия оптимизаций для мобильных GPU и тайловых архитектур.

Полный список изменений VKD3D-Proton 3.0.1

Новые возможности

  • Экспериментальная поддержка D3D12 view instancing. Включена только для одной известной игры, которой эта функция требуется – Crimson Desert (1.04+).
  • Реализовано расширение VK_EXT_present_timing для плавной подачи кадров при SyncInterval > 1, если поддерживается драйвером.
  • Поддержка функции Independent Devices.
  • Добавлены новые AGS WMMA-операции, необходимые для FSR4 Ray Reconstruction и Denoiser, как в Crimson Desert.
  • Расширены интерфейсы для более актуального NVAPI, добавлена частичная поддержка intrinsics-функций шейдеров NVAPI. С актуальной версией dxvk-nvapi должны заработать вендорские расширения Shader Execution Reordering.
  • Расширены интерфейсы AMD AGS, добавлена частичная поддержка intrinsics-функций шейдеров AGS, как в Crimson Desert.

Исправления

  • SV_PrimitiveID теперь корректно читается в большем числе стадий шейдеров.
  • Серия исправлений для NVIDIA Reflex, повышающих производительность в ряде случаев (контрибуция NVIDIA). Идентификатор NVAPI present ID теперь не привязывается жёстко к внутреннему present ID – это особенно помогает frame generation.
  • Исправления для прохождения тестов vkd3d-proton на драйвере Turnip.
  • Исправления в dxil-spirv, устраняющие падения компилятора шейдеров в новых играх.
  • Исправлена регрессия в F1 2019 и F1 2020 – старый workaround не сохранялся в новом коде компилятора.
  • Прочие мелкие исправления.

Производительность

Основной объём оптимизаций направлен на мобильные GPU с тайловой архитектурой:

  • Реализованы отложенные clear- и discard-операции – потенциальное ускорение на Turnip и аналогичных драйверах.
  • Используется механизм suspend-resume render pass на мобильных GPU. Эффект зависит от драйвера и игры – автоматического ускорения не гарантирует.
  • Инициализация и разрешение query pool перенесены так, чтобы реже разрывать render passes.
  • Переработана логика MSAA-разрешений для более простой оптимизации со стороны драйверов.

Прочие улучшения производительности:

  • Пакетная обработка сложных ExecuteIndirect в случаях, когда прежняя оптимизация со split command list не срабатывала. Улучшает GPU-bound производительность в Crimson Desert, Starfield и Halo Infinite.
  • Реализован SM 6.4 dot2add через VK_VALVE_shader_mixed_float_dot_product, если поддерживается.
  • Для D3D12 COPY-очередей используется отдельная Vulkan TRANSFER-очередь, если она доступна, вместо COMPUTE-очереди. RADV пока не предоставляет её по умолчанию, на NVIDIA TRANSFER-очередь уже задействована – это ускоряет потоковую загрузку ассетов.

Обходные решения для игр

  • Добавлен механизм применения обходных решений по имени entry point шейдера, а не по хешу. Доступен не всегда, но снижает зависимость от изменений хешей в Wuthering Waves и Crimson Desert.
  • Обходное решение для DispatchRays, если игра некорректно задаёт root signature.
  • Исправлены прочие игровые баги в Shadow of the Tomb Raider, Rise of the Tomb Raider, Spider-Man 2, Death Stranding 2, Guardians of the Galaxy, REANIMAL, Crimson Desert и других играх.
  • Обходное решение аппаратной ошибки RDNA4 с SV_ShadingRate на затронутых версиях Mesa. В Mesa 26.1+ исправлено – обходное решение там отключается.
  • В будущей Mesa 26.2+ удаляется обходное решение NULL SMEM PRT для AMD. Закрывает полуторалетнюю проблему в Monster Hunter Wilds.
  • Добавлен производительный обход для ядра NVIDIA при ожидании ID3D12Fences.
  • RDNA1-картам разрешено сообщать о поддержке barycentrics и VRS – это позволяет запустить Crimson Desert на RDNA1.
  • Удалена глобальная блокировка отправки команд на NVIDIA.

Прочее

  • Удалены устаревшие пути для VK_NV_device_generated_commands и VK_NV_device_generated_commands_compute, а также compute-fallback для NV_dgcc. Затронутых драйверов не осталось.

Скачать: загрузить релиз VKD3D-Proton 3.0.1 можно на GitHub.

© .
Комментарии и отзывы

Нашли ошибку?

Новое на сайте