Unity 6.3
0 онлайн 21 гостей 3 в системе
Вход

Profiler

класс в UnityEngine.Profiling

Выполнено в:UnityEngine.CoreModule

Описание

Управление Profiler из скрипта.

Вы можете добавить пользовательские Profiler разделы в ваших скриптах с Profiler.BeginSample и Profiler.EndSample.

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

Поскольку использование Profiler негативно влияет на производительность вашего приложения, большинство из Profiler API функциональность доступна только при включении `Development Build`. Поэтому, вы должны включить `Developer Build` если вы хотите использовать profiler API методов в вашем созданном приложении. `Development Build` делает ваше приложение работать быстрее, но не позволяет вам использовать большинство Profiler API методы.

Исключение составляют Profiler API методы, связанные с использованием памяти. Потому что Unity управляет большей частью своей системной памяти во время выполнения, он может предоставить эту информацию без снижения производительности; поэтому эти методы доступны даже если вы не включили `Development Build`. Это относится ко всем связанным с памятью Profiler API методы за исключением Profiler.GetAllocatedMemoryForGraphicsDriver и Profiler.GetRuntimeMemorySizeLong, поскольку они требуют дополнительных данных профилирования, доступных только в сборках для разработки.

Статические свойства

Свойство Описание
areaCountЧисло Profiler областей, которые вы можете профилировать.
enableAllocationCallstacksВключает запись стеков вызовов для управляемых выделений.
enableBinaryLogВключает регистрацию данных профилирования в файл.
enabledВключает Profiler.
logFileУказывает файл, используемый при записи данных профилирования.
maxUsedMemoryЗадает максимальное количество памяти, которое Profiler использует для буферизации данных. Это свойство выражается в байтах.
usedHeapSizeLongВозвращает число байтов, выделенных Unity. Это не включает байт, выделенных внешними библиотеками или драйверами.

Статические методы

Метод Описание
AddFramesFromFileОтображает записанные данные профиля в профилере.
BeginSampleНачните профилирование части кода с помощью пользовательской метки.
BeginThreadProfilingВключает профилирование в потоке, из которого вызван этот метод.
EmitFrameMetaDataЗапись метаданных, связанных с текущим кадром, в поток Profiler.
EmitSessionMetaDataЗапись метаданных, связанных со всем захватом сессии Profiler.
EndSampleЗавершает текущий образец профилирования.
EndThreadProfilingОсвобождает внутренние ресурсы, используемые профайлером для этого потока.
GetAllCategoriesВозвращает все ProfilerCategory, зарегистрированные в Profiler.
GetAllocatedMemoryForGraphicsDriverВозвращает расчетный объем памяти, выделенной для драйвера видеокарты, в байтах.
GetAreaEnabledВозвращает информацию о том, включена ли в данный момент ProfilerArea.
GetCategoriesCountВозвращает номер ProfilerCategory, зарегистрированного в Profiler.
GetMonoHeapSizeLongВозвращает размер зарезервированного пространства для управляемой памяти.
GetMonoUsedSizeLongПолучает выделенную управляемую память для активных объектов и несобранных объектов.
GetRuntimeMemorySizeLongСобирает информацию о собственной памяти, используемой объектом Unity.
GetTempAllocatorSizeВозвращает размер временного распределителя.
GetTotalAllocatedMemoryLongОбщий объём памяти, выделенной внутренними аллокаторами Unity. Unity резервирует у системы крупные пулы памяти; сюда входит удвоенный объём памяти для текстур, поскольку Unity хранит копию каждой текстуры и на CPU, и на GPU. Эта функция возвращает объём используемой памяти в этих пулах.
GetTotalFragmentationInfoВозвращает информацию о фрагментации памяти кучи.
GetTotalReservedMemoryLongОбщая память, зарезервированная Unity.
GetTotalUnusedReservedMemoryLongUnity выделяет память в пулах для использования, когда unit нуждается в выделении памяти. Эта функция возвращает количество неиспользуемой памяти в этих пулах.
IsCategoryEnabledВозвращает информацию о том, включена ли в данный момент ProfilerCategory.
SetAreaEnabledВключить или отключить заданный ProfilerArea.
SetCategoryEnabledВключить или отключить заданный ProfilerCategory.
SetScreenshotCaptureFrameIntervalИзменить частоту, с которой Profiler делает новый скриншот для миниатюр списка захвата.
SetTempAllocatorRequestedSizeЗадает размер временного распределителя.