Hero background image

Инструменты для профилирования и отладки

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

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

Получите обзор инструментов профилирования и отладки, доступных в Unity, и тех, что доступны для целевых платформ.

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

Для лучших результатов используйте как Unity, так и нативные инструменты
ИСПОЛЬЗУЙТЕ МОДУЛЬ UNITY MEMORY PROFILER, ЧТОБЫ БЫСТРО СОБРАТЬ ИНФОРМАЦИЮ О РАСПРЕДЕЛЕНИИ ПАМЯТИ ДЛЯ АКТИВОВ И ОБЪЕКТОВ СЦЕНЫ В ВАШЕМ ПРОЕКТЕ.

Для лучших результатов используйте как Unity, так и нативные инструменты

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

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

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

Профайлеры Unity
ИСПОЛЬЗОВАНИЕ ИНСТРУМЕНТА FRAME DEBUGGER ДЛЯ АНАЛИЗА ТОГО, КАК ПРОИСХОДИТ ВЫЯВЛЕННАЯ ПОВТОРНАЯ ОТРИСОВКА

Профайлеры Unity

Инструменты профилирования Unity доступны в редакторе и в Package Manager. Каждый инструмент специализируется на профилировании различных частей вашего проекта:

  • Unity Profiler помогает вам измерять производительность проекта и выявлять, какие процессы могут вызывать проблемы. Профайлер собирает и отображает данные, такие как сколько времени ЦП используется для различных задач, от аудио и физики до рендеринга и анимации. Он измеряет производительность редактора Unity, вашего приложения в режиме воспроизведения и подключается к устройству, на котором работает ваше приложение в режиме разработки. Используйте этот важный инструмент для начала профилирования. Посмотрите этот курс по профилированию, чтобы начать.
  • Profiler памяти предоставляет углубленный анализ производительности памяти. Снижение использования памяти поможет вам уменьшить количество сбоев, сократить время загрузки и сделать ваш проект совместимым со старыми устройствами. Profiler памяти в настоящее время находится в предварительном просмотре, но ожидается, что он будет подтвержден в Unity 2022 LTS.
  • Анализатор профилей агрегирует и визуализирует как данные кадров, так и маркеров из набора кадров профилирования Unity, чтобы помочь вам изучить их поведение на протяжении многих кадров. (Это дополняет анализ одного кадра, уже доступный в Profiler Unity.) Он также позволяет вам сравнивать два набора данных профилирования, чтобы определить, как ваши изменения влияют на производительность приложения.
  • Дебаггер кадров позволяет вам заморозить воспроизведение запущенной игры на определенном кадре, а затем просмотреть отдельные вызовы отрисовки, используемые для отображения этого кадра. В дополнение к перечислению вызовов отрисовки, отладчик позволяет вам проходить через них по одному, чтобы вы могли увидеть, как сцена строится из ее графических элементов.
  • Пакет ядра профилирования предоставляет API для добавления контекстной информации к захватам Profiler Unity.
Встроенные профилировщики
АНАЛИЗАТОР ПРОИЗВОДИТЕЛЬНОСТИ ARM STREAMLINE ВКЛЮЧАЕТ МНОЖЕСТВО ИНФОРМАЦИИ О СЧЕТЧИКАХ ПРОИЗВОДИТЕЛЬНОСТИ, КОТОРУЮ МОЖНО ЗАФИКСИРОВАТЬ В ХОДЕ СЕАНСОВ ПРОФИЛИРОВАНИЯ В РЕАЛЬНОМ ВРЕМЕНИ НА ЦЕЛЕВОМ ОБОРУДОВАНИИ ARM.

Встроенные профилировщики

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

iOS

WebGL

  • Профилировщик Firefox: Изучите стеки вызовов и просматривайте графики пламени для сборок Unity WebGL (среди прочего) с помощью профилировщика Firefox. Он также включает инструмент сравнения для просмотра захватов профилирования бок о бок.
  • Инструменты производительности DevTools Chrome: Еще один инструмент веб-браузера, который можно использовать для профилирования сборок Unity WebGL.

Инструменты отладки и профилирования GPU

В то время как инструмент отладчика кадров Unity захватывает и иллюстрирует вызовы отрисовки, отправляемые с ЦП, следующие инструменты могут помочь показать, что делает ГПУ, когда он получает эти команды.

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

ключевое искусство unity 09
Хотите узнать больше?

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