Оптимизируйте производительность с помощью инструментов и API Unity

Unity предоставляет различные инструменты и API для измерения производительности. Используйте эти инструменты для измерения и мониторинга показателей производительности, настройки частоты обновления экрана и анализа покадрового рендеринга сцены.

Измерение и мониторинг показателей производительности

Пакет Unity OpenXR: Android XR предоставляет вам комплексные данные о производительности, которые можно использовать для мониторинга и оптимизации вашего приложения.

Доступ к этим показателям можно получить через API показателей производительности .

Преимущества

  • Мониторинг использования памяти, производительности центрального и графического процессоров в режиме реального времени.
  • Системная статистика из слоев компоновщика и среды выполнения.
  • Измерьте влияние изменений в оптимизации.

Чтобы получить наилучшие результаты, активно отслеживайте эти показатели во время работы над приложением и настройки производительности:

AndroidXRPerformanceMetrics androidXRPerformanceMetrics = OpenXRSettings.Instance.GetFeature<AndroidXRPerformanceMetrics>();

string values = "";

if (m_Display != null && androidXRPerformanceMetrics != null && androidXRPerformanceMetrics.supportedMetricPaths != null)
  foreach (var metric in androidXRPerformanceMetrics.supportedMetricPaths)
  {
    float stat;
    XRStats.TryGetStat(m_Display, metric, out stat);

    values += string.Format("{0}: {1:F2}\n", metric, stat);
  }

Укажите частоту обновления дисплея

Частота обновления экрана позволяет вашему приложению запрашивать более высокую или более низкую частоту кадров из среды выполнения, которую система старается соблюдать.

Преимущества

  • Отрегулируйте частоту обновления в зависимости от сложности сцены.
  • Оптимизируйте энергопотребление во время съемки светлых сцен.
  • Динамически адаптируйтесь к требованиям приложения.

Включить эту функцию

Используйте API Unity для доступа к расширению XR_FB_display_refresh_rate .

Вы можете запросить частоту кадров, например, 72 кадра в секунду, 90 кадров в секунду или 120 кадров в секунду, а затем система переключится на запрошенную вами частоту, если оборудование может ее поддерживать, а температурные условия это позволяют.

Включить отладчик кадров Unity

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

Преимущества

  • Выявите узкие места рендеринга и неожиданные вызовы отрисовки.
  • Убедитесь, что SRP Batcher работает правильно (найдите записи «RenderLoopNewBatcher»).
  • Проверьте пакетную обработку резидентного ящика графического процессора (найдите записи «Hybrid Batch Group»).
  • Понимать порядок операций рендеринга.

Включить эту функцию

  1. В главном меню Unity выберите Окно > Анализ > Отладчик кадров .
  2. Нажмите «Включить» , чтобы начать сбор данных кадра.
  3. Просмотрите пошаговые вызовы отрисовки, чтобы увидеть, что и когда отображается.