Пользовательский Profilerокно, помогающее оптимизировать игру. Он показывает, сколько времени вы тратите на различные области вашей игры. Например, он может сообщать о проценте времени, затраченном на рендеринг, анимацию или игровую логику. Дополнительная информация
Модуль See in Словарь отображает данные о производительности вашей системы в окне Profiler.< /p>
Вы можете создать собственный модуль профилировщика одним из следующих способов:
Некоторые пакеты включают настраиваемые модули профилировщика, которые можно использовать при установке конкретного пакета. Дополнительные сведения см. в списке модулей Profiler.
Пользовательский модуль отображает счетчики, указанные вами в коде, в представлении диаграммы окна Profiler (A), а счетчики отображаются в виде списка на панели сведений о модуле (B).
Создание пользовательских модулей Profiler с помощью редактора модулей Profiler
Вы можете использовать встроенный в Unity редактор модулей Profiler для создания собственного модуля Profiler. Дополнительные сведения см. в разделе документации редактора модулей Profiler Создание пользовательского модуля.
Создание пользовательских модулей Profiler в коде
Чтобы создать собственный модуль Profiler с помощью кода, необходимо создать новый скрипт ProfilerModule и определить свойства модуля, включая отображаемые счетчики, его имя и значок.
Чтобы определить пользовательский модуль Profiler, ваш скрипт должен выполнять следующие действия:
- Определите в своем проекте или пакете класс, производный от ProfilerModule. В следующем примере класс называется
TankEffectsProfilerModule
:
public class TankEffectsProfilerModule : ProfilerModule
- Назначьте этому классу атрибут ProfilerModuleMetadata и укажите отображаемое имя модуля в аргументе атрибута. В следующем примере отображаемое имя — «Эффекты резервуара»:
[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, когда ваше приложение находится в режиме воспроизведения. Однако если вы профилируете приложение в режиме воспроизведения, профилировщик отображает данные, которые не отражают то, как работает ваше приложение, когда вы создаете его на аппаратном устройстве.