プロファイラーモジュールは、システムのパフォーマンスデータを Profiler ウィンドウに表示します。
独自のプロファイラーモジュールは、以下のいずれかの方法で作成できます。
カスタムモジュールは、コードで指定したカウンターを Profiler ウィンドウのチャートビュー (A) に表示し、カウンターはモジュールの詳細パネル (B) にリストとして表示されます。
Unity のビルトイン プロファイラーモジュールエディター を使用して、独自のプロファイラーモジュールを作成することができます。プロファイラーモジュールでデータを収集するには、モジュールが追跡するためのカウンターを少なくとも 1 つ加える必要があります。Unity のビルトインカウンターを加えることも、ProfilerCounter API を使用して 独自のカウンターを作成 してモジュールに加えることもできます。利用可能なカウンターのリストは、Available Counters ペインに表示されます。
独自のモジュールを作成するには、以下を行います。
重要:Profiler ウィンドウにデータをロードしないと、作成したカウンターは、プロファイラーモジュールエディターをロードしたときに Available Counters ペインに表示されません。カスタムカウンターを表示するには、作成したカウンターを含むデータをプロファイラーで キャプチャまたはロード して、プロファイラーモジュールエディターを再度開きます。
プロファイラーモジュールをコードで作成するには、新しい ProfilerModule スクリプトを作成し、表示するカウンター、名前、アイコンなどのモジュールのプロパティを定義する必要があります。
プロファイラーモジュールを定義するには、スクリプトで以下のことを行う必要があります。
プロジェクトまたはパッケージの 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 ウィンドウで表示するには、以下を行います。
アプリケーションが再生モードのときにプロファイラーを実行することもできます。しかし、再生モードでアプリケーションをプロファイリングすると、プロファイラーは、ハードウェアデバイス上でアプリケーションをビルドする場合のアプリケーションの実行を表すものではないデータを表示します。