Unity 6.3
0 онлайн 53 гостей 3 в системе
Вход

Примеры режима воспроизведения и профиля редактора

При профилировании Unity Editor или режима воспроизведения, Unity группирует их соответствующие времена в две группы образцов, которые имеют следующие маркеры:

  • PlayerLoop: Время, связанное с режимом воспроизведения
  • EditorLoop: Время, связанное с Редактором

Семплы режима проигрывания

При профилировании режима воспроизведения, Profiler собирает только выборки времени, которые произошли внутри PlayerLoop. Эта группа помогает уменьшить количество вводящих в заблуждение измерений в CPU и GPU Profiler модулях.

Unity категоризирует любой EditorLoop образцы как Прочие в 2000 году CPU Profiler диаграммы модулей, т.е. EditorLoop образцы являются наиболее крупными вкладчиками Прочие Если вы хотите узнать, что редактор делает в это время и получить подробную разбивку того, что способствует Прочие категория, Профиль процесса Редактора.

Важно: Если вы используете Deep Profilingи режим Play, это влияет на производительность каждого вызова, который происходит как в PlayerLoop, так и в EditorLoop. Это потому, что Deep Profiling зацепляется в начале и конце любого вызова метода скрипта при перезагрузке домена и не обнаруживает, какие части никогда не вызываются из PlayerLoop. Вызовы методов, которые происходят в EditorLoop не имеют полной накладной на создание образца, но они все равно проверяют, выделяют ли они один, что вызывает меньшую накладную.

Шаблоны редактора

Когда вы профилируете процесс Редактора, все образцы, которые ранее были скрыты под маркером EditorLoop, добавляются в их соответствующие категории. Это означает, что информация в панели деталей модуля CPU Profiler и его диаграммах значительно меняется.

Существуют определенные маркеры профилеров которые появляются только тогда, когда профиля в Unity Editor. Эти метки не появляются в связанной с игроком деятельности и относятся только к деятельности Редактора.

  • Проверки безопасности, такие как GetComponentNullErrorWrapper, которые помогают определить использование нулевого компонента.
  • CheckConsistency, который проверяет настройку объекта.
  • CheckAllowDestructionRecursive, что является проверкой на уничтожение.
  • Деятельность, связанная с Префаб

По умолчанию, в CPU Profiler модули Hierarchy вид, примерные стеки с маркерами только для редактора сжимаются и именуются EditorOnly [SampleName]. Хотя эти стеки образцов или их дочерние образцы могут вызвать управляемые распределения, которые могут вызвать сбор мусора, они не способствуют GC.Alloc значение их родительской выборки, если они сжаты.

Чтобы изменить поведение по умолчанию, в верхнем правом углу панели сведений о модуле выберите контекстное меню и отключите параметр Collapse EditorOnly Samples. При этом вы можете развернуть образец и добавить его значение GC.Alloc в окружающий маркер.

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

Дополнительные ресурсы