Обновление DirectX может сократить расход видеопамяти на трассировку лучей на 90%

Microsoft показала предварительную версию двух новых функций DirectX Raytracing (DXR), которые должны заметно снизить нагрузку трассировки лучей на видеопамять. Речь о Clustered Geometry (кластеризованная геометрия) и Partitioned TLAS (секционированная структура ускорения верхнего уровня).

По данным внутренних тестов Microsoft, расход памяти на трассировку лучей сокращается до 90%, причем без привязки к видеокартам конкретного производителя.

В Microsoft называют нововведение "самым значимым обновлением DXR с момента его дебюта в 2018 году". Если упрощать, DirectX получает технологию, очень близкую к Nvidia RTX Mega Geometry. Только теперь такой подход становится частью стандартного API и работает на видеокартах AMD, Intel и других производителей.

Чтобы понять суть изменений, стоит вспомнить, как устроена трассировка лучей. Видеокарта не проверяет пересечение каждого луча с каждым треугольником сцены, а использует структуры ускорения – своеобразные иерархические "карты" геометрии. Структуры нижнего уровня (BLAS) описывают отдельные модели, а структура верхнего уровня (TLAS) собирает их в единую сцену.

Проблема в том, что эти структуры нужно держать в актуальном состоянии. Когда объекты двигаются, деформируются или меняют уровень детализации, данные приходится обновлять или перестраивать, а при плотной геометрии это съедает и память, и время кадра. Поэтому разработчики часто используют для трассировки упрощенные версии моделей.

Clustered Geometry разбивает детализированные модели на небольшие кластеры, в каждом из которых не более 256 треугольников. Для каждого кластера строится собственная структура ускорения, которую можно использовать повторно и обновлять отдельно. Если меняется часть модели, перестраивать ее целиком больше не нужно.

Partitioned TLAS применяет похожую логику ко всей сцене. Структура верхнего уровня делится на отдельные области, и при изменениях в кадре обновляются только затронутые участки. Раньше же приходилось заново обрабатывать TLAS для всей карты, даже если поменялся лишь небольшой фрагмент.

В итоге объем данных, которые девайсу нужно проверять и обновлять от кадра к кадру, резко сокращается. В демонстрации Microsoft на AMD Radeon RX 9070 потребление памяти упало с 7,5 ГБ до 774 МБ. Частота кадров в том же тесте выросла с 1,2 до 79 кадров в секунду.

При этом Microsoft сразу оговаривает ряд ограничений. Тестовую среду специально подготовили под демонстрацию технологии, и в реальных играх выигрыш может оказаться куда скромнее. Кроме того, работа с кластерной геометрией требует заметно больше временной рабочей памяти, чем привычный подход, а это добавляет разработчикам новых задач по оптимизации.

Пока функции доступны только в экспериментальном режиме, и сроки их появления у обычных игроков не названы. Для доступа нужны соответствующие предварительные заголовки и среда выполнения Agility SDK, драйвер с поддержкой новых возможностей и включенный режим разработчика Windows.

Для игроков технология выглядит особенно актуально на фоне продолжающегося роста цен на оперативную память и видеокарты, вызванного спросом со стороны ИИ-индустрии.

Если разработчики начнут массово внедрять Clustered Geometry и Partitioned TLAS, трассировка лучей станет менее требовательной к объему видеопамяти даже на уже существующем железе.

Больше статей на Shazoo
Тэги:

Об авторе

Эксперт по Fallout
Главный редактор
Более 16 лет в индустрии освещения видеоигр, кино, сериалов, науки и техники. Особенно разбираюсь в серии Fallout, ценитель The Elder Scrolls. Поклонник Arcanum и Fallout Tactics. Больше всего играю в Civilization, Old World и градостроители. Изучаю ИИ и загадки космоса.