Окно оптимизации — MRTK2

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

Примечание

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

Активный целевой объект сборки — это платформа сборки, предназначенная в настоящее время проектом для компиляции.

Целевой объект производительности указывает средству оптимизации, на какие конечные точки устройства следует нацеливать.

  • Гарнитуры дополненной реальности — это устройства мобильного класса, такие как HoloLens
  • Автономные виртуальные реальности — это устройства мобильного класса, такие как Oculus Go или Quest.
  • VR Tethered являются устройства на основе ПК, такие как Samsung Odyssey, Oculus Rift или HTC Vive и т. д.

Целевой показатель производительности окна оптимизации MRTK

Настройка оптимизации

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

Зеленый значок проверка означает, что в проекте или сцене настроено оптимальное значение для этого конкретного параметра. Желтый значок предупреждения указывает, что текущую конфигурацию можно улучшить. Нажатие связанной кнопки в определенном разделе автоматически настроит этот параметр в проекте или сцене Unity на более оптимальное значение.

Параметры окна оптимизации MRTK

Отрисовка экземпляров с одним проходом

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

Общий доступ к буферу глубины

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

Формат буфера глубины

Кроме того, для гарнитур AR рекомендуется использовать 16-разрядный формат глубины при включении совместного использования буфера глубины по сравнению с 24-разрядными. Это означает снижение точности, но экономит производительность. Если z-борьба происходит из-за меньшей точности вычисления глубины для пикселей, рекомендуется переместить дальний клип плоскость ближе к камере (например, 50 м вместо 1000 м).

Примечание

При использовании 16-разрядного формата глубины необходимые эффекты буфера трафарета не будут работать, так как Unity не создает буфер трафарета в этом параметре. При обратном выборе 24-разрядного формата глубины обычно создается 8-разрядный буфер трафарета, если это применимо на графической платформе конечной точки.

Если используется компонент Mask , для которого требуется буфер трафарета, рассмотрите возможность использования RectMask2D , который не требует буфера трафарета и, таким образом, может использоваться в сочетании с 16-разрядным форматом глубины.

Глобальное освещение в реальном времени

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

Примечание

Глобальные параметры освещения в Unity задаются для каждой сцены, а не один раз во всем проекте.

Анализ сцены

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

Анализ сцены оптимизации параметров окна MRTK

Анализ освещения

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

Анализ количества многоугольников

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

Анализ лучевой передачи пользовательского интерфейса Unity

Операции вещания графики выполняются для каждого указателя в MRTK, чтобы определить, находятся ли в фокусе какие-либо элементы пользовательского интерфейса Unity. Эти лучи могут быть довольно дорогими, и для повышения производительности элементы пользовательского интерфейса, которые не нужно возвращать в результатах, должны быть отключены в качестве целевых объектов. Каждый элемент ГрафическогоGraphic.raycastTarget имеет свойство . Это средство будет искать текстовые элементы пользовательского интерфейса с включенным этим свойством и, таким образом, скорее всего, являются кандидатами, которые будут отключены.

Анализ шейдеров

Шейдер Unity Уровня "Стандартный" может давать очень качественные визуальные результаты для игр, но, как правило, не лучше всего подходит для требований к производительности приложений смешанной реальности, тем более что такие приложения обычно ограничены GPU. Таким образом, разработчикам рекомендуется использовать стандартный шейдер MRTK , чтобы сбалансировать эстетику & графические функции с производительностью.

Вкладка Анализ шейдеров проверяет папку Asset текущего проекта на наличие материалов с помощью стандартного шейдера Unity или при необходимости всех материалов, не использующих шейдеры Смешанная реальность Toolkit. После обнаружения разработчики могут преобразовать все материалы или по отдельности с помощью соответствующих кнопок.

Анализ шейдера шейдера оптимизации параметров окна MRTK

См. также статью