Одним из новых расширений в Vulkan 1.4.333 является VK_EXT_custom_resolve. Это расширение позволяет использовать шейдеры для обработки вложений с многосэмпловым рендерингом. Над VK_EXT_custom_resolve работали несколько инженеров Valve, в том числе Майк Блюменкранц, Коннор Эбботт и Сэмюэл Питойсет. А также инженеры из Qualcomm, ARM, Igalia, LunarG и NVIDIA.
Другое новое расширение — VK_EXT_ray_tracing_invocation_reorder. Расширение VK_EXT_ray_tracing_invocation_reorder предоставляет больше возможностей для управления порядком выполнения конвейера трассировки лучей. В существующем конвейере трассировки лучей есть возможность переупорядочивать данные для повышения локальности, а расширение VK_EXT_ray_tracing_invocation_reorder обеспечивает больший контроль. Над VK_EXT_ray_tracing_invocation_reorder работали инженеры из NVIDIA, AMD, Intel, Qualcomm, Imagination, Arm, Samsung, Khronos и LunarG. Vulkan получил супер-ускоритель трассировки лучей: прирост до 47%!
Представьте, что всего несколько строк кода могут ускорить рендеринг с трассировкой лучей почти вдвое. Звучит как магия? Но это реальность — благодаря новому расширению VK_EXT_ray_tracing_invocation_reorder, которое стало официальной частью стандарта Vulkan 1.4.333.
Что это за технология?
Shader Execution Reordering (SER) — или «переупорядочивание выполнения шейдеров» — это интеллектуальная система, которая оптимизирует работу лучей в реальном времени.
Простая аналогия: Представьте почтальона в большом городе. Вместо того чтобы бегать от дома к дому в случайном порядке (как работают традиционные шейдеры), SER дает ему оптимизированный маршрут, минимизирующий лишние перемещения. Именно так SER уменьшает "расхождение" (divergence) в рабочих нагрузках трассировки.
Цифры говорят сами за себя
Официальный блог Khronos Group приводит впечатляющие результаты:
-
Прирост производительности в 47% в Vulkan glTF path tracer
-
Аналогичное ускорение в популярных приложениях
-
Всего несколько строк кода для активации такого эффекта!
Стандарт для всех: почему это важно
Расширение VK_EXT_ray_tracing_invocation_reorder — это эволюция ранее существовавшего решения от NVIDIA (VK_NV_ray_tracing_invocation_reorder) в кроссплатформенный стандарт.
Что это значит на практике:
-
Единый API для всех производителей GPU
-
Совместимость с аналогом в DirectX — Shader Model 6.9
-
Предсказуемая работа на любом оборудовании с поддержкой Vulkan RT
Что ждет геймеров и разработчиков?
SER открывает новые горизонты для:
-
Игровых движков — более плавный RTX без огромных потерь FPS
-
Профессионального рендеринга — ускорение сложных сцен
-
Архитектурной визуализации — интерактивный path-tracing в реальном времени
Технология уже тестируется в различных приложениях и показывает стабильно высокие результаты
Для разработчиков, желающих полностью освоить эту технологию, инженеры NVIDIA подготовили детальное руководство в официальном блоге Khronos.org. Там вы найдете технические детали, примеры реализации и лучшие практики использования SER в своих проектах.
Vulkan продолжает доказывать, что открытые стандарты — это не только про совместимость, но и про производительность мирового уровня. Теперь и трассировка лучей стала значительно доступнее!