Unity 6.3
0 онлайн 54 гостей 3 в системе
Вход

Рендирование на основе плиток в XR

Понимание рендеринга на плитке в XR.

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

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

Дополнительные сведения о рендеринге на основе плиток в XR и методах обеспечения того, чтобы рендеринг оставался на плитке, см. в следующих разделах.

О плитке на основе GPUs

Tile-based GPUs разделяет экран на небольшие области (плитки), которые рендируются на чипе в tile-buffer. Когда плитка рендируется, ее данные записываются в framebuffer в основной памяти. Tile-based GPUs позволяет ускорить память и повысить энергоэффективность на мобильных и untethered XR устройствах.

Советы по обеспечению рендеринга на основе плиток

Если ваш проект нацелен на не связанный XR устройство и позволяет Последующая обработка на плитке, вы должны убедиться, что ваш проект рендируется только на плитке.

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

Только безпамятные промежуточные текстуры поддерживаются на плитке. Чтобы использовать безпамятные промежуточные текстуры, ваш проект должен использовать Vulkan или Metal API. Чтобы понять, как настроить API, см. Настройка графики APIs.

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

Следующих функций следует избегать на неподключенных устройствах XR, поскольку они вводят отображение вне плитки:

Используйте просмотрщик графиков рендеринга для проверки проходов рендеринга

Чтобы гарантировать, что ваш проект останется на плитке, настройте свой URP ресурс и URP рендерер для рендеринга непосредственно текстуры глаза, что означает, что ваш проект использует один объединенный проход рендеринга. Вы можете использовать Просмотрщик графика рендеринга до Анализ графика рендеринга в URP и Объединение проходов рендеринга.

Пример просмотра графиков

На следующем изображении показана оптимальная конфигурация конвейера с пост-обработкой на плитке и как интерпретировать просмотрщик графиков рендеринга:

Пример просмотра графика рендеринга с объединенными проходами рендеринга, которые будут рендеринговать на плитке.
Пример просмотра графика рендеринга с объединенными проходами рендеринга, которые будут рендеринговать на плитке.

Синяя линия (A) представляет собой объединенные проходы рендеринга.

cameraTargetAttachment (В) и cameraDepthAttachment (C) функции пост-обработки на плитке используют получение кадрового буфера (обозначается символом ) F символ) (D) для получения cameraTargetAttachment и написать в Цвет обратного буфера (E).

Дополнительные ресурсы