Version: Unity 6.0 (6000.0)
言語 : 日本語
Profiler モジュールのカスタマイズ
Create a Profiler module

プロファイラーモジュールの作成

プロファイラーモジュールは、システムのパフォーマンスデータを Profiler ウィンドウに表示します。

独自のプロファイラーモジュールは、以下のいずれかの方法で作成できます。

カスタムモジュールは、コードで指定したカウンターを Profiler ウィンドウのチャートビュー (A) に表示し、カウンターはモジュールの詳細パネル (B) にリストとして表示されます。

プロファイラーモジュールエディターを使用したプロファイラーモジュールの作成

Unity のビルトイン プロファイラーモジュールエディター を使用して、独自のプロファイラーモジュールを作成することができます。プロファイラーモジュールでデータを収集するには、モジュールが追跡するためのカウンターを少なくとも 1 つ加える必要があります。Unity のビルトインカウンターを加えることも、ProfilerCounter API を使用して 独自のカウンターを作成 してモジュールに加えることもできます。利用可能なカウンターのリストは、Available Counters ペインに表示されます。

独自のモジュールを作成するには、以下を行います。

  1. Profiler ウィンドウを開きます (Window > Analysis > Profiler)。
  2. Profiler Modules ドロップダウンを選択し、歯車アイコンを選択します。プロファイラーモジュールエディターが開きます。
  3. ウィンドウの左下にある Add ボタンを選択します。Unity は、New Profiler Module という名前の新しいプロファイラーモジュールをリストに追加します。モジュールの名前を変更するには、テキストフィールドをクリックして、キーボードで名前を設定します。
  4. モジュールに表示するカウンターを Available Counters パネルから選択し、ダブルクリックしてモジュールに追加します。複数のカウンターを選択するには、Shift キーを押しながらクリックして範囲を選択するか、Ctrl (macOS では Command) キーを押しながら 1 つずつカウンターを選択します。
  5. カウンターを並べ替えるには、カウンターをドラッグします。1 つのモジュールに追加できるカウンターの数は最大 10 個です。
  6. Profiler Module Editor ウィンドウの右下にある Save Changes ボタンを選択します。Unity がウィンドウを閉じ、Profiler ウィンドウに新しいモジュールが表示されます。

重要:Profiler ウィンドウにデータをロードしないと、作成したカウンターは、プロファイラーモジュールエディターをロードしたときに Available Counters ペインに表示されません。カスタムカウンターを表示するには、作成したカウンターを含むデータをプロファイラーで キャプチャまたはロード して、プロファイラーモジュールエディターを再度開きます。

ユーザーカウンターのリストを表示するプロファイラーモジュールエディター
ユーザーカウンターのリストを表示するプロファイラーモジュールエディター

プロファイラーモジュールをコードで作成

プロファイラーモジュールをコードで作成するには、新しい ProfilerModule スクリプトを作成し、表示するカウンター、名前、アイコンなどのモジュールのプロパティを定義する必要があります。

プロファイラーモジュールを定義するには、スクリプトで以下のことを行う必要があります。

  1. プロジェクトまたはパッケージの ProfilerModule から派生したクラスを定義します。以下の例では、クラス名を TankEffectsProfilerModule とします。

    public class TankEffectsProfilerModule : ProfilerModule
    
  2. このクラスに [ProfilerModuleMetadata] 属性を割り当て、属性の引数にモジュールの表示名を指定します。以下の例では、表示名を “Tank Effects” としています。

    [ProfilerModuleMetadata("Tank Effects")] 
    
  3. パラメーターを持たないコンストラクターを実装し、チャートカウンター説明のリストを基本コンストラクターに渡します。以下の例では、パラメーターを持たないコンストラクターは 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 ウィンドウで表示するには、以下を行います。

  1. Profiler をアプリケーションに接続します。詳細については、アプリケーションのプロファイル を参照してください。
  2. アプリケーションを実行します。

アプリケーションが再生モードのときにプロファイラーを実行することもできます。しかし、再生モードでアプリケーションをプロファイリングすると、プロファイラーは、ハードウェアデバイス上でアプリケーションをビルドする場合のアプリケーションの実行を表すものではないデータを表示します。

追加リソース

Profiler モジュールのカスタマイズ
Create a Profiler module