Релиз DXVK 2.6: Поддержка NVIDIA Reflex, улучшенная производительность игр и многое другое

NVIDIA Reflex — это комплекс фирменных технологий, направленных на минимизацию задержки между нажатием кнопки и выполнением действия в игре. Это особенно важно в соревновательных шутерах, где каждая миллисекунда может стать решающим фактором. Reflex снижает задержку за счёт специальных алгоритмов, включая режим Low Latency Mode, который оптимизирует взаимодействие CPU и GPU, сокращая очередь кадров. Дополнительное преимущество даёт поддержка G-Sync, позволяя монитору адаптироваться к обновлению кадров и обеспечивать более плавный игровой процесс без разрывов изображения.

При запуске Proton Experimental на системах с NVIDIA и драйвером с поддержкой VK_NV_low_latency2 технология Reflex теперь может быть включена в D3D11-играх, которые её поддерживают. В их числе God of War, Overwatch 2, Quake Champions и некоторые другие. Для отображения приблизительной задержки ввода в этих играх можно установить переменную окружения DXVK_HUD=latency. Однако стоит учитывать, что Reflex не работает в большинстве игр на Unreal Engine 4 в режиме D3D11, так как функции LatencySleep и другие связанные с этим механизмы никогда не вызываются. Это не может быть исправлено на уровне DXVK, поэтому для таких игр предпочтительно использовать D3D12.

Список изменений в DXVK 2.6

Исправления ошибок и улучшения

  • Устранена распространённая ошибка в играх, которая могла приводить к искажениям изображения на видеокартах NVIDIA при использовании сглаживания MSAA. Это затронуло Assassin's Creed 3, Assassin's Creed Black Flag, Watch Dogs, Stalker: Clear Sky и многие другие. Обратите внимание, что исправление может немного повлиять на производительность и использование памяти, в том числе на видеокартах AMD, где проблема не приводила к визуальным артефактам.
  • Теоритически улучшена производительность в играх, использующих функцию NVAPI UAVOverlap. Например, Baldur's Gate 3. Эта функция уже поддерживалась, но её реализация была слишком консервативной.
  • Удалена опция d3d11.dcSingleUseMode. Теперь повторная отправка отложенных командных списков должна работать ожидаемым образом. Это может увеличить использование памяти в некоторых играх, но исправляет ошибки рендеринга в Cardfight!! Vanguard Dear Days 2.
  • Незначительно улучшена производительность в современных играх, активно использующих пиксельные шейдеры с UAV. Например, Trine 5.
  • Незначительно уменьшена нагрузка на CPU в играх, неэффективно использующих методы привязки ресурсов. Например, God of War.
  • Исправлено создание представлений видеообработки D3D11 с поддержкой слоёв.
  • Добавлена поддержка интерфейса ID3D11On12Device1.
  • В игре Clanfolk исправлена ошибка, из-за которой геометрия не обрабатывалась на видеокартах Intel.
  • В Kingdom Come: Deliverance исправлена ошибка некорректного использования Vulkan.
  • В Watch Dogs 2 исправлена ошибка, из-за которой небо мерцало на видеокартах, основанных на архитектуре RDNA3.

D3D8/D3D9

  • Исправлено состояние гонки, которое могла приводить к сбоям в играх с многопоточной загрузкой ресурсов.
  • Устранены ошибки, возникающие при отключении поддержки шейдеров через опцию d3d9.shaderModel.
  • Устранена проблема с плавным переключением между программным и аппаратным курсором.
  • Устранена ошибка, из-за которой текстуры могли некорректно привязываться в некоторых играх.
  • Устранена ошибка, из-за которой игры, запрашивающие VSync с половинной частотой, работали с четвертью частоты.
  • Устранены незначительные ошибки, вызывавшие сбои в Wine-тестах.
  • В CivCity: Rome добавлена подмена ID производителя для корректного отображения теней на видеокартах Intel.
  • В Global Operations исправлены ошибки рендеринга.
  • В Need for Speed: Hot Pursuit 2 исправлена ошибка, из-за которой отсутствовал туман.
  • В Silent Hill 2 исправлена ошибка, из-за которой меню отображалось некорректно при использовании мода Silent Hill 2 Enhancements.
  • В Tom Clancy's Splinter Cell исправлены ошибки с рендерингом теней после использования Alt+Tab.
  • В Trainz v1.3 исправлена ошибка после использлвания Alt+Tab.

Общие улучшения

  • Переработана реализация swapchain в Vulkan для повышения стабильности.
  • Улучшена эффективность обработки мультисэмплированных кадров на видеокартах с тайловой архитектурой.
  • Устранена ошибка, появившаяся в DXVK 2.5, из-за которой могли возникать проблемы с выделением памяти в некоторых конфигурациях с объединённой памятью, включая проприетарные драйверы Qualcomm. Но это не значит, что теперь DXVK поддерживается Android или мобильными драйверами Qualcomm.
  • Устранён сбой при выгрузке библиотеки SetupAPI DLL, который затрагивал некоторые визуальные новеллы на базе AdvHD.
  • Устранена ошибка, из-за которой программные растеризаторы, такие как Lavapipe, не учитывались при установке DXVK_FILTER_DEVICE_NAME.
  • Инициализация ресурсов теперь всегда выполняется на асинхронной очереди передачи, если это возможно, и больше не использует дополнительную память на драйверах с поддержкой sparse residency в Vulkan. Это может сэкономить до 64МБ видеопамяти в некоторых играх.
  • Устранена ошибка std::regex, из-за которой игры могли мгновенно вылетать при использовании японской локали.
  • Устранены сбои 32-разрядных приложений, вызванные проблемами с выравниванием стека в скомпилированных GCC бинарниках.

В стандартных конфигурациях пользователям Linux нет необходимости обновлять DXVK вручную. Если вы используете Steam с Proton, DXVK будет загружен и настроен автоматически. То же самое относится к другим лаунчерам на Linux, которые поддерживают запуск Windows-игр. Ознакомиться с исходным кодом DXVK и скачать всё необходимое для самостоятельного использования можно в официальном репозитории.