Unity предоставляет ряд функций, связанных с производительностью, в настройках OpenXR. Включите эти функции, чтобы ваше приложение могло взаимодействовать со средой выполнения Android XR, получать уведомления о производительности и оптимизировать производительность графического процессора с помощью фовеального рендеринга.
Предпосылки
Прежде чем следовать этим рекомендациям, убедитесь, что вы проверили и выполнили следующие предварительные условия:
- Выполните все шаги по настройке вашего проекта в Unity .
Доступ к настройкам функций OpenXR
Выполните следующие действия, чтобы получить доступ к настройкам функций OpenXR в Unity, где вы можете настроить характеристики производительности, описанные в последующих разделах:
- В главном меню Unity выберите Правка > Настройки проекта .
- Разверните раздел Управление подключаемыми модулями XR , а затем щелкните OpenXR .
- Перейдите в раздел Группы функций OpenXR .
Включить настройки производительности XR
Настройки производительности XR в Unity позволяют вашему приложению сообщать требования к производительности среде выполнения Android XR и получать уведомления о производительности.
Преимущества
- Ваше приложение получает системные уведомления для поддержания оптимальной производительности.
- Вы можете предоставить подсказки по производительности для среды выполнения OpenXR.
Включить эту функцию
В разделе «Группы функций OpenXR» , куда вы перешли ранее , включите «Параметры производительности XR» .
Включить фовеальный рендеринг
Фовеальный рендеринг предлагает как статическую, так и отслеживающую взгляд оптимизацию, повышающую производительность графического процессора. Однако реализация с отслеживанием взгляда обеспечивает пользователям более высокое качество, визуализируя область, на которую они смотрят, при этом снижая качество периферийного зрения. Это значительно снижает нагрузку на графический процессор, сохраняя качество изображения там, где это наиболее важно.
Преимущества
- Значительно снижает нагрузку на графический процессор за счет рендеринга меньшего количества деталей в периферическом зрении.
- Сохраняет область, на которую смотрит пользователь, кристально чистой.
- Позволяет создавать более сложные сцены без потери кадров.
Включить эту функцию
- В разделе «Группы функций OpenXR» , куда вы перешли ранее , включите опцию Foveated Rendering .
Установите для API Foveated Rendering значение SRP Foveation .
В разделе «Включенные профили взаимодействия» добавьте Профиль взаимодействия взгляда .
В разделе Группы разрешений укажите, что следует запросить разрешение
android.permission.EYE_TRACKING_FINE
.Включите функцию во время выполнения и задайте уровень рендеринга для вашего приложения:
using System.Collections.Generic; using UnityEngine; using UnityEngine.XR; public class FoveationStarter : MonoBehaviour { List<XRDisplaySubsystem> xrDisplays = new List<XRDisplaySubsystem>(); void Start() { SubsystemManager.GetSubsystems(xrDisplays); if (xrDisplays.Count == 1) { xrDisplays[0].foveatedRenderingLevel = 1.0f; // Full strength xrDisplays[0].foveatedRenderingFlags = XRDisplaySubsystem.FoveatedRenderingFlags.GazeAllowed; } } }
Более подробную информацию см. в документации Unity о фовеальном рендеринге .