Создание модуля Profiler
Модуль Profiler отображает данные о производительности вашей системы в окне Profiler.
Можно создать свой собственный модуль профилирования одним из следующих способов:
Настраиваемый модуль отображает счетчики, указанные в коде, в диаграмме окна Profiler (A), а счетчики отображаются в виде списка в панели сведений о модуле (B).
Создание модуля Profiler с помощью редактора модулей Profiler
Вы можете использовать встроенный в Unity редактор модулей Profiler, чтобы создать свой собственный модуль Profiler. Чтобы собирать данные в модуле Profiler, вы должны добавить хотя бы один счетчик для отслеживания модулем. Вы можете добавить оба встроенных счетчика Unity, или использовать счетчики ProfilerCounter API до для создания собственных счетчиков для добавления в модуль. Список доступных счетчиков появляется в панели Доступные счетчики.
Для создания собственного модуля:
- Откройте окно Profiler (Window > Analysis > Profiler).
- Выберите раскрывающееся меню Profiler Modules, затем выберите значок шестерни. Откроется редактор модулей Profiler.
- Выберите кнопку Добавить в нижнем левом углу окна. Unity затем добавит новый модуль Profiler в список под названием New Profiler Module. Чтобы переименовать модуль, щелкните текстовое поле и используйте клавиатуру, чтобы задать имя.
- Выберите счетчики, которые хотите отобразить в модуле, на панели Доступные счетчики, затем дважды щелкните их, чтобы добавить их в модуль. Чтобы выбрать несколько счетчиков, удерживайте Shift и щелкните, чтобы выбрать диапазон, или удерживайте Ctrl (Command на macOS), чтобы выбрать счетчики один за другим.
- Чтобы изменить порядок счетчиков, перетащите их. В модуль можно добавить максимум 10 счетчиков.
- Выберите кнопку Сохранить изменения в правом нижнем углу окна Редактора Модулей Profiler. Unity закрывает окно, а Unity отображает новый модуль в окне Profiler.
Важно: Если вы не загрузили никаких данных в окно Profiler, то любые созданные вами счетчики не появляются в панели Доступные счетчики при загрузке Редактора Модулей Profiler. Чтобы просмотреть пользовательские счетчики, захватывает или загружает некоторые данные, которые содержат ваши выделенные счетчики вместе с Profiler, и заново открывает Редактор Модулей Profiler.
Создание модуля Profiler в коде
Чтобы создать модуль Profiler с помощью кода, необходимо создать новый скрипт ProfilerModule и определить свойства модуля, включая отображаемые счетчики, его имя и значок.
Чтобы определить модуль Profiler, ваш скрипт должен выполнить следующие действия:
-
Определите класс, производный от
ProfilerModuleв вашем проекте или пакете. В следующем примере класс называетсяTankEffectsProfilerModule:public class TankEffectsProfilerModule : ProfilerModule -
Назначить
[ProfilerModuleMetadata]атрибут к этому классу и укажите в его аргументе отображаемое имя модуля. В следующем примере это имя — «Tank Effects»:[ProfilerModuleMetadata("Tank Effects")] -
Реализуйте конструктор, не имеющий параметров, и передайте базовому конструктору список описаний счетчиков графиков. В следующем примере конструктор без параметров — это
TankEffectsProfilerModule(), список дескрипторов счетчиков графиков — этоk_Counters, а базовый конструктор — этоbase:static readonly ProfilerCounterDescriptor[] k_Counters = new ProfilerCounterDescriptor[] { new ProfilerCounterDescriptor(GameStatistics.TankTrailParticleCountName, GameStatistics.TanksCategory), new ProfilerCounterDescriptor(GameStatistics.ShellExplosionParticleCountName, GameStatistics.TanksCategory), new ProfilerCounterDescriptor(GameStatistics.TankExplosionParticleCountName, GameStatistics.TanksCategory), }; public TankEffectsProfilerModule() : base(k_Counters) { }
Отображение пользовательского модуля Профиль в окне Profiler
Когда вы определяете свой собственный модуль Profiler, окно Profiler автоматически обнаруживает его. Чтобы просмотреть данные в вашем модуле Profiler в окне Profiler:
- Подключите Profiler к приложению. Дополнительные сведения см. в разделе Профилирование приложения.
- Запустите приложение.
Также можно запустить Profiler, когда приложение находится в режиме воспроизведения. Однако при профилировании приложения в режиме воспроизведения Profiler отображает данные, которые не соответствуют тому, как работает приложение при сборке на аппаратном устройстве.