GPU Usage プロファイラーモジュールは、アプリケーションが GPU の何に時間を使用しているかを表示します。GPU プロファイラーは 再生モード で、またはアプリケーションのビルドにのみ使用できます。Unity エディターのプロファイルには使用できません。
デフォルトでは、GPU Usage プロファイラーモジュールは有効になっていません。有効にするには、プロファイラーモジュールを有効にする を参照してください。
注意Player Settings で Graphics Jobs を有効にしている場合、GPU プロファイリングはサポートされません。詳細については、Player 設定 に関するドキュメントを参照してください。さらに、macOS では、Mavericks 10.9 以降でのみ GPU をプロファイルできます。
GPU Usage プロファイラーモジュールのチャートには、GPU タイミングの調査に使用できるいくつかの異なるカテゴリがあります。
| Chart | 説明 |
|---|---|
| Opaque | 不透明なオブジェクトをレンダリングするためにビルトインビルトインレンダーパイプラインが使用する時間 |
| Transparent | 透明オブジェクトをレンダリングするためにビルトインビルトインレンダーパイプラインが使用する時間 |
| Shadows/Depth | シャドウマップをレンダリングするためにビルトインビルトインレンダーパイプラインが使用する時間 |
| Deferred Geometry | ジオメトリをレンダリングするためにビルトインディファードレンダーパイプラインが使用する時間 |
| Deferred Lighting | ライティングをレンダリングするためにビルトインディファードレンダーパイプラインが使用する時間 |
| PostProcess | ポストプロセスエフェクトを処理するためにビルトインレンダーパイプラインが使用する時間 |
| その他 | スクリプタブルレンダーパイプラインなど他のものを処理するためのレンダリング時間 |
GPU Usage プロファイラーモジュールを選択すると、詳細ペインに選択したフレームのアプリケーションが使った時間の内訳が表示されます。
階層状の表で時間のデータを表示できます。表示を変更するには、詳細ペインの左上のドロップダウンを使用します (デフォルトでは Hierarchy に設定)。可能な表示は、以下の通りです。
| 値 | 説明 |
|---|---|
| 階層 | 内部の階層構造体によってタイミングデータをグループ化します。このオプションは、アプリケーションが呼び出した要素を、使用された時間の降順 (デフォルト) のリスト形式で表示します。GPU 時間の合計、または呼び出し回数で情報を並べ替えることもできます。テーブルを並べ替える列を変更するには、テーブルの列のヘッダーをクリックします。 |
| Raw Hierarchy | 時間のデータを、タイミングが発生したコールスタックと同様の階層構造で表示します。Hierarchy ビューのように各コールスタックをマージせずに、このモードでは個別にリストします。 |
表には以下の列があります。
| 値 | 説明 |
|---|---|
| Total | Unity が 1 つの特定の関数に費やした総時間 (パーセンテージ) |
| DrawCalls | このフレームでこの関数に対して行われた呼び出しの数 |
| GPU ms | Unity が 1 つの特定の関数に使った総時間 (ミリ秒)。 |
以下の表は、GPU Usage プロファイラーモジュールがサポートするプラットフォームの一覧です。
| プラットフォーム | グラフィックス API | 状況 |
|---|---|---|
| Windows | DirectX 11、DirectX 12、OpenGL | サポートあり |
| Vulkan | サポートなし | |
| macOS | OpenGL | 使用可。 注意Apple は OpenGL のサポートを廃止しました。 |
| Metal | 不対応。代わりに XCode の GPU フレームデバッガー UI を使用してください。 | |
| Linux | OpenGL core | サポートあり |
| Vulkan | サポートなし | |
| Web | すべての WebGL | サポートなし |
| Android | OpenGL | NVIDIA または Intel GPU を実行しているデバイスでのみ使用可 |
| Vulkan | サポートなし | |
| iOS, tvOS | Metal | 不対応。代わりに XCode の GPU フレームデバッガー UI を使用してください。 |
| Tizen | OpenGL | 不対応。 |
Windows では、Unity は Direct3D 11 および Direct3D 12 API でのみエディターでの再生モードプロファイリングをサポートします。プレイヤーをビルドする必要がないため、迅速なプロファイリングに便利です。ただし、Unity エディターの実行のオーバーヘッドがプロファイラーに影響し、プロファイリング結果の精度が低下する可能性があります。