Модуль Physics 2D Profiler отображает информацию о физике, которую система физики обработала в сцене вашего проекта. Эта информация может помочь вам диагностировать и решить проблемы производительности или неожиданные расхождения, связанные с физикой в сцене вашего проекта.
Окно Profiler с выбранным модулем Физика 2D.
Чтобы открыть окно Profiler, перейдите в меню: Окно > Анализ > Profiler. Более подробную информацию об использовании окна Profiler см. в Начало работы с окном Profiler.
Категории диаграмм
Диаграмма модуля Физика 2D Profiler разделена на следующие категории:
Диаграмма
Описание
Всего контактов
Общее число контактов, которые присутствовали в этом кадре. Это включает как контакты столкновения, так и контакты триггера.
Всего форм
Общее число Физика формы которые присутствовали в этом кадре. Разные Collider2D производить различные количества физических форм, начиная от одного до неограниченного. Вы можете получить число форм и извлечь физические формы для определения этого для любого Collider2D.
Общее количество любых Joint2D, которые присутствовали в этом кадре.
Итого, органы
Общее количество Rigidbody2D, которые присутствовали в этом кадре.
Пробужденные тела
Общее число Rigidbody2D, которые были и awake (не sleeping) и присутствовали в этом кадре.
Динамические тела
Общее количество Rigidbody2D с типом кузова Dynamic, которые присутствовали в этом кадре.
Непрерывные тела
Общее количество Rigidbody2D с режимом обнаружения столкновений Continuous, которые присутствовали в этом кадре.
Физика Используемая память
Общее количество постоянной памяти, используемой исключительно физикой системы 2D. Это включает как ядренный движок, так и память, используемую каждым физическим компонентом, но не включает временную память, используемую в этом кадре.
Нажмите на окно диаграммы кадров или выберите запечатленный кадр в диаграмме графика, чтобы отслеживать выбранные категории. Чтобы изменить порядок категорий в диаграмме, перетащите их в легенде диаграммы. Вы также можете нажать на цветную легенду категории, чтобы переключить ее отображение. См. панель сведений модуля для получения дополнительной информации о выбранных статистических данных.
Панель деталей модуля
Когда вы выбираете кадр в модуле Physics 2D Profiler, панель деталей отображает подробную информацию о физике в сцене вашего проекта. Панель деталей сортируется по категориям, где каждая категория существует в одной строке.
В нижеследующей справочной таблице приводятся имеющиеся статистические данные, а также соответствующие профилер счетчик, и доступность в сборках выпуска. Счетчики профилера всегда доступны в редакторе и в сборках разработки. Эта информация также доступна через ProfilerRecorder API и в Profiler Редактор модулей так что вы можете добавить их в пользовательский Profiler модуль.
Общее количество постоянной памяти, используемой исключительно физикой системы 2D. Это включает в себя как основной движок, так и память, используемую каждым физическим компонентом, но не включает временную память, используемую в этом кадре.
Физика Используемая память 2D
Нет
Относительная
Относительная процентная доля памяти, используемой физикой 2D, по сравнению с общей памятью, используемой Unity.
Общее количество Rigidbody2D, которые присутствовали в этом кадре.
Итого, органы
Нет
Пробуждение
Число Rigidbody2D, которые были awake (не sleeping) и присутствовали в этом кадре. Обратите внимание, что Rigidbody2D с типом тела Static всегда спят.
Пробудившиеся тела
Нет
Спящие
Число Rigidbody2D, которые были спящими (не бодрствующими) и присутствовали в этом кадре. Обратите внимание, что Rigidbody2D со Статическим типом тела всегда спят.
Спящие тела
Нет
Динамическая
Количество Rigidbody2D с типом тела Dynamic, которые присутствовали в этом кадре. Динамические тела занимают больше всего времени обработки из всех типов тела.
Динамические тела
Нет
Кинематическая
Количество Rigidbody2D с типом тела Kinematic, которые присутствовали в этом кадре. Кинематические тела имеют минимальную обработку.
Кинематические тела
Нет
Статическое
Количество Rigidbody2D с типом тела Static, которые присутствовали в этом кадре. Статические тела требуют наименьшей обработки из всех типов тела.
Статические тела
Нет
Дискретный
Количество Rigidbody2D с режимом обнаружения столкновений Discrete, которые присутствовали в этом кадре. Дискретные тела требуют гораздо меньшей производительности, чем при использовании режима обнаружения столкновений Continuous.
Дискретные тела
Нет
Непрерывный
Количество Rigidbody2D с режимом обнаружения столкновений Continuous, которые присутствовали в этом кадре. Сплошные тела требуют гораздо большей производительности, чем при использовании режима обнаружения дискретных столкновений.
Общее число Физика формы которые присутствовали в этом кадре. Разные Collider2D производить различные количества физических форм, начиная от одного до неограниченного. Вы можете получить число форм и извлечь физические формы для определения этого для любого Collider2D.
Всего фигур
Нет
Пробуждение
Физико-математическая фигура активна, если она прикреплена к Rigidbody2D, то есть awake. Это число физических фигур, которые были активны (но не sleeping) и присутствовали в этом кадре.
Пробудившиеся формы
Нет
Спящие
Физико-математическая форма спящая, если она прикреплена к спящему Rigidbody2D. Это число физических форм, которые и спят (не бодрствуют), и присутствуют в этом кадре.
Спящие формы
Нет
Динамическая
Физико-математическая форма имеет номер Dynamic, если она прикреплена к Rigidbody2D с типом тела Динамический. Это число физических форм, которые были Динамичными и присутствовали в этом кадре.
Динамические формы
Нет
Кинематическая
Физика фигуры является кинематической, если она прикреплена к Rigidbody2D с типом тела Kinematic. Это число физических фигур, которые были одновременно кинематическими и присутствовали в этом кадре.
Кинематические формы
Нет
Статическое
Физико-математическая фигура является Статической, если она прикреплена к Rigidbody2D с типом тела Static. Это число физических фигур, которые были одновременно Статическими и присутствовали в этом кадре.
Число запросов, которые Particle System вызвал в этот кадр. Это используется, когда модуль Particle System настроен для контакта с коллайдерами 2D и полностью контролируется Particle System. Обратите внимание, что это может сильно повлиять на производительность, но также очень эффективно для обработки.
Общее число контактов, которые присутствовали в этом кадре. Это включает как контакты Коллизии, так и контакты Триггера. Обработка и разрешение контактов может занять много времени.
Всего контактов
Нет
Добавлено
Число контактов, которые были добавлены в этом кадре. Это включает как контакты коллизии, так и контакты триггера. Добавление слишком большого количества контактов в одном кадре может привести к пикам производительности.
Добавлены контакты
Нет
Убраны
Число контактов, которые были удалены в этом кадре. Это включает как контакты коллизии, так и контакты триггера. Удаление контактов происходит быстро и имеет минимальное влияние на производительность.
Удалённые контакты
Нет
Широкофазные обновления
Число широкофазных обновлений, обработанных в этом кадре. Широкофазное обновление происходит при добавлении, удалении или изменении размера физических фигур. Широкофазные обновления используются для обнаружения изменений контакта, когда две физические фигуры потенциально перекрываются и могут привести к созданию широкофазной пары.
Широкофазные обновления
Нет
Широкофазные пары
Число широкофазных пар, обработанных в этом кадре. Широкофазная пара создается, когда обновление широкофазной пары приводит к потенциальному перекрытию двух физических форм. Затем широкофазная пара обрабатывается, и в результате будет создан новый контакт или он будет проигнорирован, если физические формы не настроены на контакт друг с другом.
Общее число сцен физики, которые присутствовали в этом кадре. Каждая сцена физики содержит мир физики, который может быть симулирован независимо от любого другого мира физики. Иметь много миров не является проблемой производительности, потому что они только занимают память и не выполняют никакой работы, если они не симулируются.
Остров представляет собой связанный граф тел, связанных через взаимные соединения или взаимные контакты. Обратите внимание, что типы тел Static не соединяют острова. Число контактных островов, решенных при обработке дискретного шага решения.
Решение дискретных островов
Нет
Неразрывные острова
Остров представляет собой связанный граф тел, связанных через взаимные соединения или взаимные контакты. Обратите внимание, что статические типы тел не соединяют острова. Это число островов, решенных при обработке непрерывного этапа решения. Решение непрерывных островов является процессом, требующим высокой производительности и включающим множество итераций, которые требуют регенерации и переработки островов. Только Rigidbody2D с режимом обнаружения столкновений Continuous приведет к образованию и обработке этого дополнительного непрерывного острова.
Общее число вызовов синхронизации Transform, которые были сделаны в этом кадре. Синхронизация Transform (известная как Transform Read) включает проверку, изменились ли какие-либо Трансформации, и если да, то поза Transform читается и вызывает обновление любых Rigidbody2D или Collider2D. Трансформации не должны изменяться при использовании физических компонентов, хотя иногда это необходимо, но следует избегать их из-за потенциальных проблем с производительностью, если выполнять слишком много. Любые движения должны выполняться с помощью Rigidbody2D API.
Физическая система выполнит одну Transform синхронизацию в качестве первой части выполнения шага симулирования, так что это всегда будет по крайней мере одна, если произошла симуляция (см. Количество симуляций выше). Физическая система также выполнит одну Transform синхронизацию на кадр, если она обрабатывает любую интерполяцию Rigidbody2D.
Дополнительные вызова показываются, если либо Physics2D.AutoSyncTransforms активен (неактивен по умолчанию), либо если Physics2D.SyncTransforms вызван, хотя оба этих вызова следует избегать, так как они могут иметь серьезное влияние на производительность.
Всего Transform Синхронизация Вызовов
Нет
Синхронизаторы
Число Rigidbody2D, которые были затронуты синхронизацией Transform. Это число должно быть минимальным, предпочтительно равным нулю.
Transform Синхронизаторы
Нет
Синхронные коллайдеры
Число Collider2D, которые были затронуты синхронизацией Transform. Это число должно быть минимальным, предпочтительно равным нулю.
Transform Синхронные коллайдеры
Нет
Родительские синхронизирующие корпуса
Число Rigidbody2D, которые были затронуты синхронизацией Transform, вызванной перепропарентированием Transform. Это должно быть минимально, предпочтительно нулевой.
Transform Родительские синхронизируемые тела
Нет
родительские синхронные коллайдеры
Число Collider2D, которые были затронуты синхронизацией Transform, вызванной перепропартингом Transform. Это следует держать на минимальном уровне, предпочтительно нулевой.
Общее число любых Joint2D, которые присутствовали в этом кадре. Решение соединений может стать дорогостоящим, поэтому их следует свести к минимуму.
Всего соединений
Нет
Сроки
Примечание: Все часы суммируются по всем физическим мирам (см. World Count). Количество раз, когда любое время было взято в пробу, показано в квадратных скобках после самого времени. Фактически время может быть поделено на World Count для получения среднего времени.
Общее время, затраченное на обработку полного шага симулирования. Этот шаг может быть вызван Unity автоматически, путем вызова Physics2D.Simulate или непосредственно путем вызова PhysicsScene2D.Simulate. Это время включает все этапы, связанные с завершением шага симулирования, включая Transform Синхронизация (чтение), Вычисление контактов, Интеграция, Решение контактов и соединений, Transform Запись и обратные вызова контактов.
N/A
N/A
Синхронизация
Общее время обработки Transform Sync (см. Sync Calls).
N/A
N/A
Этап
Общее количество времени, затраченное на обработку шагов моделирования. Это время включает только основные этапы, связанные с завершением шага моделирования, включая расчет контактов, интеграцию, решение контактов и соединений.
N/A
N/A
Запись
Общее время, затраченное на обработку записи Transform. Это происходит в конце этапа симулирования, когда поза тела читается и записывается обратно в систему Transform.