Обновление 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, трассировка лучей станет менее требовательной к объему видеопамяти даже на уже существующем железе.
- Claude Opus 5.5 за час с нуля написал трассировщик пути с RTX-ускорением для двух RTX 5090
- Новая технология трассировки AMD снижает память под BVH с 80 ГБ до 1,7 ГБ и выводит 500 миллионов анимированных треугольников при 60 FPS
- 4 игры доказали, что Ультра-настройки графики не стоят потерянных кадров