再生モードとエディタープロファイルのサンプル
Understand the difference between profiling data collected in Play mode and the data collected in the Editor.
読み終わるまでの所要時間 7 分最終更新 1ヶ月前
Unity エディターまたは再生モードをプロファイルすると、Unity は関連するタイミングを以下のマーカーを持つ 2 つのサンプルグループにグループ化します。
- : 再生モードに関連するタイミング
PlayerLoop - : エディターに関連するタイミング
EditorLoop
再生モードのサンプル
再生モードをプロファイルすると、プロファイラーは 内で発生したタイミングのサンプルのみを収集します。このグループにより、CPU および GPU プロファイラーモジュールでの誤った測定を削減できます。
PlayerLoopUnity は、CPU プロファイラーモジュールチャートで のサンプルを Others として分類します。つまり、 のサンプルが Others カテゴリの最大の割合を占めます。この時間のエディタの動作を調べ、Others カテゴリの詳細な内訳を取得する場合は、エディタープロセスをプロファイルします。
EditorLoopEditorLoop重要:詳細プロファイリングとターゲット再生モードを使用すると、 と の両方で発生するすべての呼び出しのパフォーマンスが影響を受けます。これは、Deep Profiling がドメインのリロード時にスクリプトのメソッド呼び出しの最初と最後にフックし、どの部分が から呼び出されないかを検出しないためです。 で発生するメソッドの呼び出しは、サンプル作成のオーバーヘッドを完全には発生させませんが、サンプルを発行すべきかどうかをチェックするため、小さいながらもオーバーヘッドを発生させます。
PlayerLoopEditorLoopPlayerLoopEditorLoopエディターサンプル
エディタープロセスをプロファイルすると、以前は マーカーの下に隠れていたすべてのサンプルが、それぞれのカテゴリに反映されます。これは、CPU Profiler モジュールの詳細ペインとそのチャートの情報が大きく変化することを表します。
EditorLoopUnity エディターでプロファイルするときにのみ表示されるいくつかのプロファイラーマーカーがあります。これらのマーカーは、プレイヤー関連のアクティビティでは表示されず、エディターアクティビティにのみ関連します。エディター専用マーカーには以下のものがあります。
- GetComponentNullErrorWrapper などのセキュリティチェック。null コンポーネントの使用を識別するのに役立ちます。
- CheckConsistency。オブジェクトの設定を検証します。
- CheckAllowDestructionRecursive。破壊のチェックです。
- プレハブ関連のアクティビティ。
デフォルトでは、CPU Profiler モジュールの Hierarchy ビューでは、エディター専用マーカーを持つサンプルスタックは折りたたまれ、 という名前が付けられます。これらのサンプルスタックやそれらの子サンプルは、ガベージコレクションのトリガーとなるマネージアロケーションの原因となる可能性がありますが、折りたたまれている場合、それらの親サンプルの 値には影響しません。
EditorOnly [SampleName]GC.Allocデフォルトの動作を変更するには、モジュールの詳細ペインの右上にあるコンテキストメニューを選択し、Collapse EditorOnly Samples 設定を無効にします。これを行うと、サンプルを展開して、囲んでいるマーカーにその 値を反映させることができます。
GC.Allocこのオプションは、Timeline ビューには影響せず、サンプルとそれらの子は展開されて表示されます。これらのマーカーが付いたサンプルは、エディターのみのアクティビティに関連しており、マネージ割り当ての削減には影響しないため、通常は無視して問題ありません。ただし、再生モードのパフォーマンスに大きな影響を与えるかどうかを調べるのに役立ちます。