Инструменты для всех вызовов функций
Profiler измеряет время только того кода, который явно обёрнут в маркеры Profiler. Сюда входит первый уровень глубины стека вызовов при переходе из нативного кода Unity в ваш скриптовый код, например в методы MonoBehaviour.Start, MonoBehaviour.Update или аналогичные.
В качестве дочерних семплов кода скриптов можно визуализировать только семплы, которые выполняют обратный вызов инструментированного API Unity, либо собственный код с явной инструментацией маркерами Profiler. Инструментировано большинство вызовов API, связанных с накладными расходами производительности. Например, обращение к основной Camera через API Camera.main регистрируется как семпл FindMainCamera.
Глубокое профилирование
Если вы хотите получить данные обо всех вызовах функций, чтобы выяснить, как ваш код влияет на производительность приложения, вы можете использовать настройку Deep Profile. Когда вы включаете настройку Deep Profile, Profiler вводит инструментарий профилирования во все ваши методы скрипта для записи всех вызовов функций, включая, по крайней мере, глубину первого стека вызовов в любой Unity API.
Deep Profiling ресурсоемкий и использует много памяти. В результате, ваше приложение работает значительно медленнее во время профилирования. Deep Profiling работает лучше всего для небольших игр с простым скриптированием. Если вы используете сложный скриптовый код, ваше приложение может не использовать Deep Profiling, а для многих более крупных приложений Deep Profiling может привести к Unity исчерпанию памяти.
Включение глубокого профилирования
Вы можете включить глубокое профилирование, если собираете данные о производительности из подключенного приложения или если собираете данные в Unity Editor.
Чтобы включить глубокое профилирование для созданного приложения:
- Откройте Создание профилей окно (Файл > Создание профилей)
- Выберите целевую платформу приложения
- Включите параметр Разработанная сборка
- Включить глубокое профилирование
Чтобы включить глубокое профилирование при сборе данных в редакторе:
- Откройте окно Profiler (Окно > Анализ > Profiler)
- Выберите Deep Profile из панели инструментов Profiler.
Затем Profiler инструментирует все вызовы функций при запуске сеанса профилирования.