Коротко
- stat unit показывает время кадра, а также время работы Game, Draw и GPU, помогая выявить возможное узкое место.
- stat startfile сохраняет данные измерений в папку Profiling; чтобы остановить запись, выполните команду stat stopfile.
- Unreal Insights анализирует файлы .utrace; в Timing Insights отображаются трассы CPU и GPU.
- Согласно документации Unreal Insights, Unreal Trace Server включён на настольных платформах начиная с UE 5.3.
Если в проекте Unreal Engine возникают проблемы с производительностью, сначала нужно измерить, на каком этапе они появляются. В официальной документации Epic Games описано, как выводить основные показатели производительности с помощью команд stat, введённых в консоль во время работы, и подробнее анализировать записанные трассы в Unreal Insights. Это руководство рассказывает о процессе от замеров до анализа, в особенности для интерактивных сцен и проектов архитектурной визуализации в реальном времени.
1. Сначала определите общее узкое место
Запустите проект в режиме Play In Editor (PIE) и введите в консоль следующую команду:
stat unitКоманда выводит показатели производительности по разделам Frame, Game, Draw, GPU, RHIT и DynRes. Согласно документации, Frame — это общее время, необходимое для создания одного кадра. Если время Frame близко к времени Game, проблема может быть связана с Game thread; если оно близко к Draw — с render thread. Время GPU показывает, сколько времени видеокарта тратит на рендеринг сцены. Используйте эти значения не как окончательный диагноз, а как ориентир для более подробного анализа.
Ещё одна команда для общего обзора — stat sceneRendering. Epic называет её подходящей отправной точкой для поиска общих причин замедления рендеринга. Затем можно выбрать команды в зависимости от области, на которую указывают замеры: stat memory показывает использование памяти, stat streaming — основные сведения о потоковой загрузке ресурсов, а stat lightRendering — время обработки освещения и теней.
stat sceneRenderingЕсли нужен список команд, воспользуйтесь командой stat help в консоли. Документация также указывает, что команды можно найти через меню Stat в редакторе: нажмите стрелку раскрытия рядом с кнопкой Viewport Setting.
2. Сохраните результаты измерений PIE в файл
Если показателей в реальном времени недостаточно, сохраните данные статистики в файл. Чтобы начать запись, выполните в консоли PIE команду:
stat startfileКак правило, запись создаёт файл .uestats в папке Saved/Profiling/UnrealStats внутри папки проекта. По завершении обязательно остановите запись:
stat stopfileЭто важно: согласно документации, после закрытия PIE запись StartFile может продолжиться в фоновом режиме. Если забыть остановить её, могут появиться большие файлы .uestats. Чтобы просмотреть созданный файл, откройте в Unreal Editor меню Tools > Session Frontend, перейдите на вкладку Profiler и выберите файл с помощью Load. После этого данные будут отображаться в Profiler.
3. Анализируйте трассы в Unreal Insights
Unreal Insights — это набор инструментов для захвата событий проекта с высокой скоростью передачи данных, а также их анализа и визуализации. Его можно запустить через Trace/Insights Status Bar Widget в редакторе. Сеансы трассировки сохраняются в файлах .utrace; сопутствующие данные могут находиться в файлах .ucache в той же папке.
Чтобы начать анализ, дважды щёлкните по сохранённому сеансу в Session Browser либо выберите его и нажмите Open Trace. Файл .utrace в другом расположении можно найти через меню Open Trace; документация также описывает возможность перетащить файл в окно Unreal Insights. Текущие сеансы помечаются в списке как LIVE и обновляются в реальном времени во время просмотра.
Окно Timing Insights позволяет просматривать трассы CPU и GPU, а также длительность выполнения задач. Для анализа использования памяти и стеков вызовов предназначен Memory Insights; для изучения времени и порядка загрузки ресурсов — Asset Loading Insights. Выбирайте инструмент с учётом типа проблемы, чтобы сосредоточить анализ на нужной области.
4. Адаптируйте процесс к задачам архитектурной визуализации
Если в интерактивной архитектурной сцене появляются подтормаживания, замедленная реакция или задержки загрузки, сначала выполните измерения с помощью stat unit. Отметьте, указывает ли результат на Game, Draw или GPU; не принимайте решение об оптимизации на основании одного моментального замера — повторите измерения в той же сцене и при схожих условиях использования. Затем, в зависимости от необходимой детализации, запишите статистику или снимите трассу Unreal Insights.
Для проверки переходов между сценами и состояния загрузки уровней можно использовать stat levels. Команда показывает, активны ли уровни, видимы, загружаются, выгружаются или предварительно загружаются, а также время от запроса на загрузку до её завершения. Команда stat streaming может помочь проверить использование памяти потоково загружаемого контента, а stat lightRendering — обработку света и теней. Эти показатели помогают архитектурным командам выбрать сцену или этап рендеринга для анализа, но сами по себе не требуют менять какую-либо настройку.
В документации Unreal Insights сказано, что Trace Server включён на всех настольных платформах начиная с UE 5.3. Для хранения трасс можно задать другую папку, а также добавить дополнительные папки для трассировки. Перед тем как делиться файлами анализа, командам следует проверить, какая папка используется и завершена ли запись. Описанные здесь шаги основаны на командах и инструментах из документации Epic Games по Unreal Engine; поскольку в ней не указаны конкретные требования к оборудованию или лицензированию для этого процесса, давать особые рекомендации по этим вопросам нельзя.
Частые ошибки
Забыть остановить запись после
stat startfile: она может продолжаться даже после закрытия PIE. Когда работа завершена, выполнитеstat stopfile.Считать
.uestatsи.utraceодним и тем же типом записи: в официальной документации эти расширения относятся к разным процессам. Записи.uestatsоткрываются в Profiler через Session Frontend, а трассы.utrace— в Unreal Insights.Считать первое замеченное значение окончательной причиной проблемы:
stat unitуказывает на возможное узкое место; для более подробного анализа используйте соответствующие инструменты записи и анализа.
Источники
Источников: 2Тексты источников не перепечатываются; короткие цитаты отмечены, остальное — наш пересказ и комментарий.
Для архитектурных бюро в Турции, готовящих интерактивные презентации, ценность этого процесса в том, что он даёт измеримую отправную точку и помогает определить, следует ли искать причину проблемы в Game, Draw или GPU. Так команда может решить, какую область изучать, прежде чем менять сцену.
Однако одни только измерения не повышают производительность: важно правильно интерпретировать данные и перейти к подходящему инструменту анализа. На практике также важно систематически управлять файлами записей и не забывать о команде `stat stopfile`. Поскольку документация не устанавливает конкретных требований к оборудованию или лицензированию, бюро следует проверять этот процесс на своих системах и версиях проекта.
Частые вопросы
Как определить узкое место производительности в Unreal Engine?
Команда `stat unit` показывает показатели производительности, включая время Frame, Game, Draw и GPU. Если время Frame близко ко времени Game или Draw, это может указывать на узкое место в соответствующем потоке.
Как остановить запись stat startfile в Unreal Engine?
Введите `stat stopfile` в консоли PIE. Запись может продолжаться даже после закрытия PIE, поэтому по завершении измерений необходимо выполнить эту команду.
Файлы какого типа открывает Unreal Insights?
Unreal Insights может открывать и анализировать файлы трасс `.utrace`. Файлы `.uestats` просматриваются в Profiler через Session Frontend.



