ProfilerMarker
структура в Unity.Profiling
Выполнено в:UnityEngine.CoreModule
Описание
Маркер производительности, используемый для профилирования произвольных блоков кода.
Используйте ProfilerMarker для разметки блоков кода скрипта для Profiler.
Информация, полученная с помощью маркеров, отображается в CPU Profiler и может быть также захвачена с помощью Recorder. Во время разработки (в редакторе и разработке игроков) это может помочь получить обзор производительности различных частей кода игры и выявить проблемы производительности.
using Unity.Profiling;
public class MySystemClass { static readonly ProfilerMarker s_PreparePerfMarker = new ProfilerMarker("MySystem.Prepare"); static readonly ProfilerMarker s_SimulatePerfMarker = new ProfilerMarker(ProfilerCategory.Ai, "MySystem.Simulate");
public void UpdateLogic() { s_PreparePerfMarker.Begin(); // ... s_PreparePerfMarker.End();
using (s_SimulatePerfMarker.Auto()) { // ... } } }
ProfilerMarker представляет собой именованный handle профиля и является наиболее эффективным способом профилирования кода. Он может быть использован в jobified коде.
Методы Begin и End обозначены ConditionalAttribute. Они условно компилируются и, таким образом, имеют нулевые накладные расходы в сборках, не относящихся к разработке (выпуску).
Когда Profiler собирает данные измерений, ProfilerMarker помогает сократить накладные расходы и объем передаваемых данных. Profiler.BeginSample передает полную строку в поток данных, в то время как ProfilerMarker.Begin и CustomSampler.Begin только целочисленный идентификатор маркера.
Также ProfilerMarker.End предоставляет контекстную информацию для Recorder позволяет отслеживать время выполнения обозначенного кода в Players.
Дополнительные ресурсы: Recorder.
Свойства
| Свойство | Описание |
|---|---|
| Handle | Получает собственный идентификатор ProfilerMarker. |
Конструкторы
| Конструктор | Описание |
|---|---|
| ProfilerMarker | Создает новый маркер производительности для инструментов кодирования. |
Открытые методы
| Метод | Описание |
|---|---|
| Auto | Создаёт вспомогательную структуру для блоков using с областью видимости. |
| Begin | Начните профилирование части кода, помеченной пользовательским именем, определенным этим экземпляром ProfilerMarker. |
| End | Завершить профилирование части кода, помеченной пользовательским именем, определенным этим экземпляром ProfilerMarker. |