Оптимизировать для не связанных устройств XR в URP
Понимание способов оптимизации проекта URP для устройств XR.
На этой странице описываются методы оптимизации для проектов универсального конвейера рендеринга (URP), предназначенных для устройств расширенной реальности (XR). Устройство расширенной реальности XR — это устройство XR, которое не подключено к рабочему столу проводом.
Большинство не связанных устройств XR используют плиточный GPUs. Рекомендации на этой странице помогут использовать эту архитектуру аппаратуры более эффективно и избегать использования методов отображения, которые менее эффективны на этих устройствах. Дополнительные сведения о работе плиточного GPUs см. в разделе дополнительных ресурсов.
Чтобы оптимизировать свой проект XR, обратите внимание на следующее:
- Использование Vulkan API
- Использование OpenXR
- Использование графической системы рендеринга
- Использование переднего отображения
- Используйте пост-обработку на плитке
- Избегайте геометрии шейдеров
- Используйте MSAA для сглаживания
- Отключить глубинное грунтование
- Отключить свойства текстуры Непрозрачность и Глубина
- Отключить SSAO
- Отключить HDR
- Внедрение масштабирования разрешения
В следующих разделах эти методы описываются более подробно.
Используйте Vulkan API
Vulkan API более стабилен и обеспечивает лучшую производительность по сравнению с OpenGL ES API в URP проектах, нацеленных на XR платформы. Многие новые OpenXR возможности доступны только на Vulkan.
См. Настройка графики APIs для информации о том, как изменить графику API на Vulkan.
Используйте плагин OpenXR
Используйте плагин OpenXR в проектах, которые ориентированы на платформы XR.
Включите следующие настройки в вашем проекте OpenXR:
- Многовидовое \ Однопроходное рендеринг
- Фовированное отображение
- Области отображения Multiview
Совет: Рассмотрите, подходит ли URP Приложение SpaceWarp для вашего проекта. Приложение SpaceWarp может значительно улучшить частоту кадров, но может вызвать видимые артефакты для некоторых контента.
Использовать систему графов отображения
В Unity 6.0 и более поздних версиях новые проекты URP используют систему графов рендеринга. См. Преимущества системы графов рендеринга, чтобы понять преимущества графов рендеринга.
Использование прямого отображения
В URP, Отложенное рендеринг генерирует несколько целей рендеринга для G-буфера. Unity выполняет множественные загрузки графической памяти (документация Qualcomm) для доступа к этим целям рендеринга, что медленно на плиточном GPUs.
См. Детали реализации отсроченного рендеринга для получения дополнительной информации о реализации G-буфера в URP.
Настройки Путь отображения находятся в разделе Отображение актива Универсальный рендерер.
Используйте пост-обработку на плитке (Unity 6.3 и более новые)
Он XR устройства, Unity рекомендует использовать пост-обработку на плитке. Методы пост-обработки без включенной пост-обработки на плитке являются дорогостоящими на не связанных XR устройств, потому что после обработки добавляет промежуточные текстуры.
В Unity 6.3 и более новых, вы можете использовать пост-обработку на плитке, чтобы включить некоторые URP последующее воздействие на XR устройств. См. Последующая обработка на плитке (URP) чтобы узнать больше о пост-обработке на плитке и как включить ее в вашем XR проекта.
В версиях Unity, более старых, чем Unity 6.3, Unity рекомендует отключить методы последующей обработки, поскольку последующая обработка на плитке недоступна.
Избегайте геометрии шейдеров
Избегайте использования геометрии шейдеров на платформах с плиткой на основе GPUs. Некоторые устройства не поддерживают геометрии шейдеров.
Генерация дополнительных примитивов и вершин нарушает поток плиток GPU, потому что разделение примитивов после прохождения binning становится недействительным.
Используйте MSAA для сглаживания
Tile-based GPUs может хранить больше семплов в одной плитке. Это делает Multi-sample Anti-aliasing (MSAA) эффективным на мобильных и не связанных XR платформах. 2X MSAA значение обеспечивает хороший баланс между визуальным качеством и производительностью.
Вы можете изменить настройки MSAA в разделе Качество ассета URP. Для получения дополнительной информации о MSAA, см. Anti-aliasing в URP.
Отключить глубинное грунтование
Отключить глубинную загрузку на платформах XR. Устройства XR имеют два представления, что увеличивает влияние на производительность от выполнения глубинного предпрохода.
Для не связанных устройств XR нет преимуществ от выполнения глубинной загрузки. Вы можете получить аналогичные результаты, используя функции аппаратной оптимизации, такие как Low-Resolution-Z (LRZ) или Hidden Surface Removal (HSR).
Сведения о том, как настроить или отключить глубинную загрузку, см. в разделе Режим глубинного грунтовки описание свойства.
Отключить свойства Непрозрачная текстура и Глубина текстуры
Отключите свойства Непрозрачная Текстура и Глубокая Текстура для повышения производительности. Включение этих параметров вызывает дополнительные операции копирования текстуры, которые требуют дополнительной загрузки GMEM.
Подробнее о свойствах текстуры непрозрачности и глубины см. в Рендирование.
Чтобы определить, использует ли текущая конфигурация промежуточные текстуры, используйте окно Просмотрщика графиков рендеринга.
Отключить SSAO
Экран пространства окружающей окклюзии (SSAO) может иметь низкую производительность на мобильных и не связанных XR устройств.
SSAO в URP требует пропуска глубины, двух пропусков размытия для уменьшения шума и дополнительного пропуска блита для очистки изображения. Такие пропуски требуют нескольких нагрузок GMEM, которые оказывают высокое воздействие на производительность плиточного GPUs.
См. SSAO для получения дополнительной информации.
Отключить HDR
High Definition Rendering (HDR) имеет более высокую точность и улучшает графическую достоверность, но требует больше бит на пиксель для обработки. Отключите HDR, чтобы уменьшить пропускную способность памяти и повысить производительность.
Большинство не связанных XR устройств не поддерживают HDR рендеринг.
Чтобы отключить HDR:
- Выберите ассет URP.
- В окне Inspector в разделе Качество снимите свойство HDR.
Примечание: некоторые функции, такие как HDR оценка света требуют HDR. Проверьте требования к функциям, используемым в вашем проекте, чтобы убедиться, что HDR не требуется.
Внедрение масштабирования разрешения
Unity рекомендует внедрить масштабирование разрешения для снижения нагрузки GPU и поддержания стабильной частоты кадров.
Дополнительные сведения см. в Управление разрешением в проектах XR.
Дополнительные ресурсы
- Рендирование на основе плиток в XR
- Рендирование на основе плиток (Рука)