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

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

Примечание

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

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

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

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

MRTK Optimize Window Performance Target

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

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

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

MRTK Optimize Window Settings

Отрисовка с одним проходом

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

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

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

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

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

Примечание

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

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

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

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

Примечание

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

Анализ сцены

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

MRTK Optimize Window Settings scene Analysis

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

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

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

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

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

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

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

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

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

MRTK Optimize Window Settings shader analysis

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