Version: Unity 6.0 (6000.0)
言語 : 日本語
Frame Timing Manager の概要
FrameTimingManager を有効にする

フレームのタイミングデータの取得

カスタムプロファイラーモジュールにフレーム時間データを表示する

以下の手順で、カスタムプロファイラーモジュールにフレームタイミングデータを表示できます。

  1. カスタムプロファイラーモジュールの作成 の手順に従ってカスタムプロファイラーモジュールを作成します。
  2. Profiler Module Editor ウィンドウで、カスタムモジュールを選択します。
  3. Available Counters パネルで Unity を選択します。
  4. Render を選択して、メモリ使用量に関連するプロファイラーカウンター (FrameTimingStats プロパティによって有効になるものを含む) が含まれたサブメニューを開きます。サブメニュー内の関連カウンターをクリックすることで、それをカスタムモジュールに追加できます。

以下の表は、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 C# API からタイムスタンプデータを取得する

FrameTimingManager API を使用してタイムスタンプ情報にアクセスできます。FrameTimingManager は、各変数に、フレーム中で特定のイベントが発生する時間を記録します。

以下の表は、この API を通して利用可能な値を、Unity がフレーム中に実行する順番で示したものです。

プロパティ 説明
frameStartTimestamp フレームが開始する CPU 時間です。
firstSubmitTimestamp Unity がこのフレーム中で最初のジョブを GPU に投入する CPU 時間です。
cpuTimePresentCalled Unity が現在のフレーム用に Present() 関数を呼び出す CPU 時間です。
cpuTimeFrameComplete GPU がフレームのレンダリングを終了して CPU に割り込む CPU 時間です。
Frame Timing Manager の概要
FrameTimingManager を有効にする
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961