以下の手順で、カスタムプロファイラーモジュールにフレームタイミングデータを表示できます。
以下の表は、Frame Timing Stats を有効にすると使用可能になる各カウンターの役割を説明したものです。
| 測定項目 | 説明 |
|---|---|
| CPU Total Frame Time (ms) | CPU フレーム時間の合計 (ミリ秒単位) です。Unity はこれを、2 つのフレームの終了時点と終了時点の間の時間として (オーバーヘッドやフレーム間の待機時間も含めて) 計算します。 |
| CPU Main Thread Frame Time (ms) | フレームの開始から、メインスレッドがそのフレーム中に実行した作業を終了するまでの時間 (ミリ秒単位) です。 |
| CPU Main Thread Present Wait Time (ms) | フレーム中で Present() を待機するのに費やされた CPU 時間です。 |
| CPU Render Thread Frame Time (ms) | Render Thread での処理の開始から、Unity が Present() 関数を呼び出すまでの時間 (ミリ秒単位) です。 |
| GPU Frame Time (ms) | GPU の、単一のフレームのレンダリングの開始時間と終了時間の差 (ミリ秒単位) です。 |
FrameTimingManager API を使用してタイムスタンプ情報にアクセスできます。FrameTimingManager は、各変数に、フレーム中で特定のイベントが発生する時間を記録します。
以下の表は、この API を通して利用可能な値を、Unity がフレーム中に実行する順番で示したものです。
| プロパティ | 説明 |
|---|---|
| frameStartTimestamp | フレームが開始する CPU 時間です。 |
| firstSubmitTimestamp | Unity がこのフレーム中で最初のジョブを GPU に投入する CPU 時間です。 |
| cpuTimePresentCalled | Unity が現在のフレーム用に Present() 関数を呼び出す CPU 時間です。 |
| cpuTimeFrameComplete | GPU がフレームのレンダリングを終了して CPU に割り込む CPU 時間です。 |