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

Для лучших результатов используйте как Unity, так и нативные инструменты
Профилирование похоже на детективную работу, раскрывая тайны того, почему производительность вашего приложения замедляется или почему код выделяет избыточную память. Наилучшие результаты от профилирования достигаются, когда вы планируете это на ранних этапах разработки вашего проекта. Это продолжающийся проактивный и итеративный процесс. Профилируя рано и часто, а не только перед тем, как вы собираетесь выпустить свою игру, вы и ваша команда сможете понять и установить «подпись производительности» для проекта. Если производительность резко падает, например, вы сможете легко заметить, когда что-то пошло не так, и быстро устранить проблему.
Наиболее точные результаты профилирования получаются при запуске и профилировании сборок на целевых устройствах, а также при использовании инструментов, специфичных для платформы, чтобы углубиться в аппаратные характеристики каждой целевой платформы.
Unity поддерживает ряд бесплатных мощных профайлеров для анализа и оптимизации кода в редакторе и на вашем оборудовании. Существуют также несколько отличных нативных инструментов профилирования, разработанных для каждой целевой платформы, таких как те, что доступны от Arm, Apple, Sony и Microsoft. Использование комбинации обоих предоставляет более целостный взгляд на производительность приложения на всех целевых устройствах.

Профайлеры Unity
Инструменты профилирования Unity доступны в редакторе и в Package Manager. Каждый инструмент специализируется на профилировании различных частей вашего проекта:
- Unity Profiler помогает вам измерять производительность проекта и выявлять, какие процессы могут вызывать проблемы. Профайлер собирает и отображает данные, такие как сколько времени ЦП используется для различных задач, от аудио и физики до рендеринга и анимации. Он измеряет производительность редактора Unity, вашего приложения в режиме воспроизведения и подключается к устройству, на котором работает ваше приложение в режиме разработки. Используйте этот важный инструмент для начала профилирования. Посмотрите этот курс по профилированию, чтобы начать.
- Profiler памяти предоставляет углубленный анализ производительности памяти. Снижение использования памяти поможет вам уменьшить количество сбоев, сократить время загрузки и сделать ваш проект совместимым со старыми устройствами. Profiler памяти в настоящее время находится в предварительном просмотре, но ожидается, что он будет подтвержден в Unity 2022 LTS.
- Анализатор профилей агрегирует и визуализирует как данные кадров, так и маркеров из набора кадров профилирования Unity, чтобы помочь вам изучить их поведение на протяжении многих кадров. (Это дополняет анализ одного кадра, уже доступный в Profiler Unity.) Он также позволяет вам сравнивать два набора данных профилирования, чтобы определить, как ваши изменения влияют на производительность приложения.
- Дебаггер кадров позволяет вам заморозить воспроизведение запущенной игры на определенном кадре, а затем просмотреть отдельные вызовы отрисовки, используемые для отображения этого кадра. В дополнение к перечислению вызовов отрисовки, отладчик позволяет вам проходить через них по одному, чтобы вы могли увидеть, как сцена строится из ее графических элементов.
- Пакет ядра профилирования предоставляет API для добавления контекстной информации к захватам Profiler Unity.

Встроенные профилировщики
Android / Arm
- Android Studio: Последняя версия Android Studio включает новый Android Profiler, который заменяет предыдущие инструменты Android Monitor. Используйте его для сбора данных в реальном времени о аппаратных ресурсах на устройствах Android.
- Arm Mobile Studio: Набор инструментов, который поможет вам профилировать и отлаживать ваши игры в большом объеме, предназначенный для устройств на базе оборудования Arm.
- Snapdragon Profiler: Специально для устройств на базе чипсета Snapdragon. Анализируйте данные CPU, GPU, DSP, памяти, энергии, тепла и сети, чтобы помочь найти и устранить узкие места в производительности.
Intel
- Intel VTune: Быстро находите и устраняйте узкие места в производительности на платформах Intel с помощью этого набора инструментов. Только для процессоров Intel.
- Intel GPA suite: Набор инструментов, ориентированных на графику, который поможет вам улучшить производительность вашей игры, быстро выявляя проблемные области.
Xbox / Windows
- PIX: PIX — это инструмент настройки производительности и отладки для разработчиков игр на Windows и Xbox, использующих DirectX 12. Он включает инструменты для понимания и анализа производительности CPU и GPU, а также мониторинга различных счетчиков производительности в реальном времени. Для получения дополнительной информации о том, как использовать PIX для разработки игр на Xbox, зарегистрируйтесь как разработчик Xbox.
PC / Universal
- AMD μProf: AMD uProf — это инструмент анализа производительности для понимания и профилирования производительности приложений, работающих на оборудовании AMD.
- NVIDIA NSight: Инструменты, которые позволяют разработчикам создавать, отлаживать, профилировать и разрабатывать передовое программное обеспечение с использованием новейшего визуального вычислительного оборудования от NVIDIA.
- Superluminal: Superluminal — это высокопроизводительный, высокочастотный профайлер, который поддерживает профилирование приложений на Windows, Xbox One и PlayStation, написанных на C++, Rust и .NET. Это платный продукт, и его необходимо лицензировать для использования.
PlayStation
- Инструменты профилирования ЦП доступны для оборудования PlayStation. Для получения дополнительных сведений вам необходимо быть зарегистрированным разработчиком PlayStation®.
iOS
- Инструменты Xcode и отладчик кадров Xcode: Инструменты — это мощный и гибкий инструмент для анализа производительности и тестирования, который является частью набора инструментов Xcode.
WebGL
- Профилировщик Firefox: Изучите стеки вызовов и просматривайте графики пламени для сборок Unity WebGL (среди прочего) с помощью профилировщика Firefox. Он также включает инструмент сравнения для просмотра захватов профилирования бок о бок.
- Инструменты производительности DevTools Chrome: Еще один инструмент веб-браузера, который можно использовать для профилирования сборок Unity WebGL.
Инструменты отладки и профилирования GPU
В то время как инструмент отладчика кадров Unity захватывает и иллюстрирует вызовы отрисовки, отправляемые с ЦП, следующие инструменты могут помочь показать, что делает ГПУ, когда он получает эти команды.
Некоторые из них специфичны для платформы и предлагают более тесную интеграцию с платформой. Посмотрите на инструменты, относящиеся к интересующим вас платформам:
- Анализатор графики Arm: Часть программного обеспечения Arm Mobile Studio
- RenderDoc: Отладчик ГПУ для настольных и мобильных платформ
- Intel GPA: Профилирование графики для платформ на базе Intel
- Инструменты отладки захвата кадров Apple: Отладка GPU для платформ Apple
- Диагностика графики Visual Studio: Выберите это и/или PIX для платформ на базе DirectX, таких как Windows или Xbox
- Отладчик кадров NVIDIA Nsight: Отладчик кадров на базе OpenGL для GPU NVIDIA
- Набор инструментов разработчика AMD Radeon: Профайлер GPU для GPU AMD
- Отладчик кадров Xcode: Для iOS и macOS

Скачайте электронную книгу, Ультимативное руководство по профилированию игр Unity, бесплатно, чтобы получить все советы и лучшие практики.