Крупнейшее обновление DirectX с 2018 года: Microsoft представила улучшеную трассировку лучей

Найбільше оновлення DirectX з 2018 року: Microsoft представила покращене трасування променів

Microsoft выпустила DirectX 12 Agility SDK 1.620 Retail и 1.722 Preview, которые включают значительные улучшения трассировки лучей, эффективности использования видеокарт и Advanced Shader Delivery.

В Microsoft описывают последние улучшения в DirectX Raytracing (DXR) как самое существенное усовершенствование этой технологии с 2018 года. Главными особенностями Agility SDK 1.722 Preview остаются кластеризованная геометрия, сегментированные структуры ускорения верхнего уровня (PTLAS) и построение структур ускорения с помощью графического процессора (GPU-driven acceleration structure builds). В совокупности они призваны снизить вычислительные затраты, связанные с трассировкой лучей в сложных динамических средах.

Как правило, трассировка лучей требует построения и обновления структур ускорения, известных как иерархии ограничительных объемов (BVH), которые составляют геометрию сцены. Этот процесс может быть очень ресурсоемким в случае с высокодетализированными средами и масштабной анимацией, потоковой передачей геометрии и динамическим изменением объектов.

Новая реализация снижает вычислительную нагрузку за счет разделения геометрии на более мелкие многократно используемые кластеры, каждый из которых содержит до 256 треугольников и вершин. Они могут быть объединены в более крупные структуры ускорения без необходимости постоянной перестройки геометрии с нуля.

Найбільше оновлення DirectX з 2018 року: Microsoft представила покращене трасування променівНайбільше оновлення DirectX з 2018 року: Microsoft представила покращене трасування променівНайбільше оновлення DirectX з 2018 року: Microsoft представила покращене трасування променів

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

PTLAS позволяет разработчикам обновлять только те фрагменты сцены, в которые были внесены изменения, вместо перестройки всей структуры ускорения верхнего уровня. В сочетании с процессами, выполняемыми графическим процессором, это должно повысить эффективность в больших и динамичных игровых мирах.

Microsoft продемонстрировала потенциальное повышение производительности кластерной геометрии, приведя в качестве примера D3D12RaytracingClusteredGeometry, который позволяет разработчикам сравнивать традиционную перестройку структуры ускорения низкого уровня (BLAS) с кластерной геометрией в аналогичных сценах.

В одной из конфигураций, работавшей с Radeon RX 9070, переход от геометрии «полигон/треугольник» к кластерной геометрии повысил производительность с 1,2 FPS до 79 FPS (примерно в 66 раз быстрее), сократив время построения структур ускорения с 788 мс до 3,11 мс. Общее потребление памяти структурами ускорения также сократилось почти на 90 % с 7,3 Гбит до 774 Мбит, однако существенно выросли требования к кэшу.

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

Microsoft приводит реализацию технологии NVIDIA RTX Mega Geometry в игре Gears of War: E-Day как один из ранних примеров этой технологии. Стандартизированная реализация DirectX должна сделать подобные технологии более доступными для всех производителей видеокарт. Текущая предварительная версия поддерживает все видеокарты NVIDIA GeForce RTX, серию Radeon RX 9000, а также встроенную графику Intel Arc B-Series и Core Ultra.

Agility SDK 1.620 также отличается рядом улучшений Microsoft Advanced Shader Delivery. Технология Partial Graphics Programs позволяет разработчикам повторно использовать предварительно скомпилированные компоненты шейдеров в различных конфигурациях конвейера. Это потенциально снизит размер пакетов шейдеров и затраты на компиляцию.

В настоящее время Partial Graphics Programs доступна исключительно для видеокарт Radeon RX 7000 и RX 9000, а поддержка видеокарт других производителей планируется в будущем. Среди дополнительных улучшений — файлы дампа DirectX для диагностики сбоев графического процессора, барьеры синхронизации уровня 1, API для пакетных асинхронных списков команд, а также новые интерфейсы компилятора вычислительных графов DirectX для задач машинного обучения.

Источник: Microsoft; Wccftech

Источник материала
loader
loader