GPU Usage Profiler モジュールは、アプリケーションが GPU の何に時間を使用しているかを表示します。GPU プロファイラーは再生モードで、またはアプリケーションのビルドにのみ使用できます。エディターのプロファイルには使用できません。
ノート: Player Settings で Graphics Jobs を有効にしている場合、GPU プロファイリングはサポートされません。詳細は スタンドアロンの Player 設定 を参照してください。さらに、macOS では、Mavericks 10.9 以降でのみ 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 | 使用可。 |
Xbox One | DirectX 11、DirectX 12 | 使用可。 |
スイッチ | Switch API | サポートあり |
WebGL | すべての WebGL | サポートなし |
Android | OpenGL | NVIDIA または Intel GPU を実行しているデバイスでのみ使用可 |
Vulkan | サポートなし | |
iOS、tvOS | Metal | 使用不可。代わりに XCode の GPU フレームデバッガー UI を使用してください。 |
Tizen | OpenGL | 使用不可。 |
Windows 、Unity は Direct3D 9 と Direct3D 11 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 つの特定の関数に使った総時間 (ミリ秒)。 |