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. |
| GetTotalUnusedReservedMemoryLong | Unity выделяет память в пулах для использования, когда unit нуждается в выделении памяти. Эта функция возвращает количество неиспользуемой памяти в этих пулах. |
| IsCategoryEnabled | Возвращает информацию о том, включена ли в данный момент ProfilerCategory. |
| SetAreaEnabled | Включить или отключить заданный ProfilerArea. |
| SetCategoryEnabled | Включить или отключить заданный ProfilerCategory. |
| SetScreenshotCaptureFrameInterval | Изменить частоту, с которой Profiler делает новый скриншот для миниатюр списка захвата. |
| SetTempAllocatorRequestedSize | Задает размер временного распределителя. |