После пяти лет разработки и тесного сотрудничества инженеров NVIDIA, Google, AMD, Red Hat и других компаний в спецификацию Vulkan было наконец-то включено важнейшее расширение VK_EXT_present_timing. Это долгожданное нововведение, изначально предложенное инженером NVIDIA Джеймсом Джонсом еще в 2020 году, призвано решить одну из самых раздражающих проблем в играх — неравномерность кадров и лаги.
Зачем это нужно? Плавность — прежде всего
Представьте: вы играете в динамичный шутер, где каждый кадр важен. Из-за микроскопических задержек в выводе изображения картинка может подтормаживать или дергаться, даже если частота кадров высока. Именно эту проблему и решает новое расширение.
VK_EXT_present_timing дает играм и приложениям прямой доступ к таймингам системы вывода изображения. Теперь движок может:
-
Точнее знать, когда именно кадр был показан на мониторе.
-
Запланировать вывод следующего кадра на конкретный момент времени.
Как отмечается в документации, это позволяет «правильно позиционировать геометрию» с учетом реального времени отображения, что делает анимацию «гладкой для пользователя».
Долгий путь к идеальной графике
Работа над расширением велась пять лет — срок, который говорит о сложности и важности задачи. Вклад в его создание внесли практически все ключевые игроки индустрии: от производителей видеокарт (NVIDIA, AMD) до разработчиков игровых движков (Unity) и создателей дистрибутивов Linux (Red Hat).
Что ждать дальше?
Само расширение уже одобрено для включения в основную ветку Vulkan-Docs и станет частью грядущего обновления спецификации Vulkan 1.4.335.
Что важно для геймеров:
-
Драйвер NVIDIA для Linux уже поддерживает VK_EXT_present_timing.
-
Ожидается, что в ближайшее время поддержку добавят и основные драйверы Mesa (RADV для AMD и ANV для Intel).
Это значит, что в скором будущем игры на Vulkan смогут стать заметно плавнее, а раздражающие подлагивания, наконец, уйдут в прошлое. Осталось дождаться, пока разработчики игр возьмут это мощное оружие на вооружение.