Version: 2022.1
言語: 日本語
Global Illumination Profiler モジュール
Memory Profiler モジュール

GPU Usage Profiler モジュール

GPU Usage Profiler モジュールは、アプリケーションが GPU の何に時間を使用しているかを表示します。GPU プロファイラーは再生モードで、またはアプリケーションのビルドにのみ使用できます。エディターのプロファイルには使用できません。

Profiler ウィンドウの GPU Usage プロファイラー
Profiler ウィンドウの GPU Usage プロファイラー

ノート: Player SettingsGraphics Jobs を有効にしている場合、GPU プロファイリングはサポートされません。詳細は スタンドアロンの Player 設定 を参照してください。さらに、macOS では、Mavericks 10.9 以降でのみ GPU をプロファイルできます。

GPU プロファイリングのサポート

以下の表は、GPU Usage Profiler モジュールがサポートするプラットフォームの一覧です。

プラットフォーム グラフィックス API 状況
Windows DirectX 11、DirectX 12、OpenGL サポートあり
Vulkan サポートなし
macOS OpenGL 使用可。ノート: Apple は OpenGL のサポートを廃止しました。
Metal 使用不可。代わりに XCode の GPU フレームデバッガー UI を使用してください。
Linux OpenGL core サポートあり
Vulkan サポートなし
PlayStation 4 libgnm 使用可。
スイッチ Switch API サポートあり
WebGL すべての WebGL サポートなし
Android OpenGL NVIDIA または Intel GPU を実行しているデバイスでのみ使用可
Vulkan サポートなし
iOS、tvOS Metal 使用不可。代わりに XCode の GPU フレームデバッガー UI を使用してください。
Tizen OpenGL 使用不可。

Windows 、Unity は Direct3D 11 と Direct3D 12 API を伴うエディターでのみ再生モードのプロファイリングをサポートします。これは、プレイヤーをビルドする必要がないため、迅速なプロファイリングに便利です。ただし、Unity エディターの実行によるオーバーヘッドはプロファイラーに影響します。つまり、プロファイリング結果の精度を低下させる可能性があります。

チャートのカテゴリ

GPU Usage Profiler モジュールのチャートには、GPU タイミングの調査に使用できるいくつかの異なるカテゴリがあります。グラフのカテゴリの順序を変更するには、カテゴリをグラフの凡例にドラッグアンドドロップします。カテゴリの色の付いた凡例をクリックして、表示を切り替えることもできます。

チャートカテゴリ 説明 
Opaque 不透明なオブジェクトをレンダリングするためにビルトインビルトインレンダーパイプラインが使用する時間
Transparent 透明オブジェクトをレンダリングするためにビルトインビルトインレンダーパイプラインが使用する時間
Shadows/Depth シャドウマップをレンダリングするためにビルトインビルトインレンダーパイプラインが使用する時間
Deferred PrePass 深度バッファプレパスをレンダリングするためにビルトインディファードレンダーパイプラインが使用する時間
Deferred Lighting ライティングを行うためにビルトインディファードレンダーパイプラインが使用する時間
PostProcess ポストプロセスエフェクトを処理するためにビルトインレンダーパイプラインが使用する時間
Other スクリプタブルレンダーパイプラインなど他のものを処理するためのレンダリング時間

モジュールの詳細ペイン

GPU Usage Profiler モジュールを選択すると、その下の詳細ペインに選択したフレームのアプリケーションが使った時間の内訳が表示されます。階層状の表で時間のデータを表示できます。表示を変更するには、詳細ペインの左上のドロップダウンを使用します (デフォルトでは Hierarchy に設定)。可能な表示は、以下の通りです。

表示 機能
Hierarchy 内部の階層構造体によってタイミングデータをグループ化します。このオプションは、アプリケーションが呼び出した要素を、使用された時間の降順 (デフォルト) のリスト形式で表示します。GPU 時間の合計、または呼び出し回数で情報を並べ替えることもできます。テーブルを並べ替える列を変更するには、テーブルの列のヘッダーをクリックします。
Raw Hierarchy 時間のデータを、タイミングが発生したコールスタックと同様の階層構造で表示します。Hierarchy ビューのように各コールスタックをマージせずに、このモードでは個別にリストします。

GPU Usage Profiler モジュールを選択すると、プロファイラーの下のペインは選択されたフレームの階層的なタイムデータを表示します。階層から項目を 1 つ選択すると、その詳細が右側のパネルに表示されます。Profiler ウィンドウに関する詳細は Profiler ウィンドウ を参照してください。

表には以下の列があります。

機能
Total Unity が 1 つの特定の関数に費やした総時間 (パーセンテージ)
DrawCalls このフレームでこの関数に対して行われた呼び出しの数
GPU ms Unity が 1 つの特定の関数に使った総時間 (ミリ秒)。
Global Illumination Profiler モジュール
Memory Profiler モジュール