Version: Unity 6.0 (6000.0)
言語 : 日本語
再生モードとエディタープロファイルのサンプル
プロファイラー出力の分析

すべての関数呼び出しのインストルメント化

プロファイラーは、プロファイラーマーカーで明示的にラップされたコードのタイミングのみをプロファイルします。これには、MonoBehaviour.StartMonoBehaviour.Update、または同様のメソッドなど、Unity のネイティブコードからスクリプトコードへの呼び出しの最初のコールスタックの深度が含まれます。

スクリプトコードの子サンプルとして視覚化できるのは、Unity の API にコールバックするものだけです。ただし、その API がインストルメント化されている場合、または独自のコードで、プロファイラーマーカーが明示的にインストルメント化されている場合に限ります。パフォーマンスのオーバーヘッドを伴うほとんどの API 呼び出しはインストルメント化されています。例えば、Camera.main API を通じてメインのカメラにアクセスすると、FindMainCamera サンプルとして登録されます。

詳細プロファイリング

すべての関数呼び出しに関するデータを取得して、コードがアプリケーションのパフォーマンスにどのような影響を与えるかを把握する場合は、Deep Profile (詳細プロファイル) の設定を使用できます。Deep Profile の設定を有効にすると、プロファイラーがすべてのスクリプトメソッドにプロファイラーのインストルメンテーションを挿入し、Unity API への最初のコールスタックの深度を含むすべての関数呼び出しを記録します。

詳細プロファイリングはリソースに負荷がかかり、大量のメモリを使用します。そのため、プロファイリング中のアプリケーションの実行速度が大幅に低下します。詳細プロファイリングは、シンプルなスクリプトで構成されている小規模なゲームに最適です。複雑なスクリプトコードを使用すると、アプリケーションで詳細プロファイリングを使用できない場合があります。また、多くの大規模なアプリケーションでは、詳細プロファイリングによって Unity のメモリが不足する場合があります。

詳細プロファイリングの有効化

接続されたアプリケーションからパフォーマンスデータを収集している場合や、Unity エディターでデータを収集している場合は、詳細プロファイリングを有効にすることができます。

ビルドしたアプリケーションの詳細プロファイリングを有効にするには、以下の手順に従います。

  1. Build Profiles ウィンドウを開きます (File > Build Profiles を選択します)
  2. アプリケーションのターゲットプラットフォームを選択します
  3. Development Build 設定を有効にします
  4. Deep Profiling を有効にします

エディターでデータを収集するときに詳細プロファイリングを有効にするには、以下の手順に従います。

  1. Profiler ウィンドウを開きます (Window > Analysis > Profiler を選択します)
  2. プロファイラーツールバーから Deep Profile を選択します

プロファイリングセッションの開始時に、プロファイラーがすべての関数呼び出しをインストルメント化します。

追加リソース

再生モードとエディタープロファイルのサンプル
プロファイラー出力の分析