Unity 6.3
0 онлайн 55 гостей 3 в системе
Вход
Практическое руководство по разработке игр в Unity Глава 16 из 25 Оригинал, стр. 58

Профилирование и оптимизация

Профилирование и оптимизация После создания отличной игры следующая задача - обеспечить её высокую производительность. Unity включает набор инструментов профилирования и оптимизации, помогающих максимально эффективно использовать ресурсы целевой платформы. Unity Profiler Unity Profiler предоставляет сведения о производительности приложения. Для наиболее точных результатов запускайте его на целевой платформе, для которой планируете публиковать сборку. Так вы получите достоверные данные о времени выполнения операций, влияющих на производительность приложения. Profiler также можно запускать непосредственно из Unity Editor в режиме Play. Однако в таком режиме точность ниже: он подходит для быстрой проверки, но не для итоговой оценки. Profiler помогает выявить потенциальные направления оптимизации приложения: CPU, GPU, память, рендерер, физику и аудио. Последовательно оптимизируйте эти области. Так можно точно определить, как на работу приложения влияют код, ресурсы, настройки сцены, рендеринг камерой и настройки сборки. Profiler отображает результаты в виде графиков, на которых хорошо видны пики нагрузки.

Unity Profiler

Unity предоставляет множество маркеров Profiler, помогающих понять, на что приложение тратит время. ProfilerRecorder также может использовать эти маркеры для получения полезных временных показателей кадра. Ниже перечислены наиболее распространённые маркеры: Маркер Profiler

Краткое описание

Основные маркеры главного потока

Выборки основного игрового цикла PlayerLoop и EditorLoop при профилировании в Editor.

Маркеры обновления скриптов

Выборки MonoBehaviour.Update (Update, FixedUpdate, LateUpdate) и корутин.

Маркеры рендеринга и VSync

Участки обработки данных для GPU или ожидания завершения его работы.

Маркеры бэкенда скриптинга

Работа бэкендов Mono и IL2CPP; полезны при диагностике сборки мусора и выделения памяти.

Маркеры многопоточности

Сведения о синхронизации потоков и Job System без измерения циклов CPU.

Маркеры физики

Высокоуровневые маркеры Physics.Contacts, Physics.TriggerEnterExits, Physics.UpdateBodies и другие.

Предупреждения о производительности

Вызовы, которых следует избегать в критичных к производительности участках.

Чтобы открыть окно Profiler, выберите Window > Analysis > Profiler. Подробное описание окна приведено в документации Profiler. Memory Profiler Memory Profiler помогает находить области проекта Unity и Unity Editor, в которых можно сократить использование памяти. Он даёт обзор выделений нативной и управляемой памяти, а также ссылок между ними, из-за которых эти выделения остаются в памяти.

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

Главное представление Memory Profiler в режиме Tree Map

Profile Analyzer Profile Analyzer агрегирует и визуализирует данные кадров и маркеров из набора кадров Unity Profiler, помогая понять их поведение. В Profile Analyzer можно сопоставить два набора данных рядом друг с другом; это дополняет анализ одного кадра, доступный в Unity Profiler.

Инструкции по работе с Profile Analyzer см. в документации этого окна.

Profile Analyzer

Чтобы лучше разобраться в оптимизации Unity для мобильных платформ, прочитайте публикацию в блоге Optimize your mobile game performance. Также можно скачать полную электронную книгу с рекомендациями экспертов Unity по оптимизации мобильных игр.