Unity プロファイラー を使用して、CPU やメモリなどの領域でのプロジェクトパフォーマンスに関するデータを取得できます。
以下の表は、URP フレームの Unity プロファイラーに表示され、パフォーマンスに大きな効果を与えるマーカーの一覧です。
プロファイラー階層の深い位置にあるマーカーや、URP の動作が記述されているラベルは、この表に含まれていません。
| マーカー | サブマーカー | 説明 |
|---|---|---|
| Inl_UniversalRenderPipeline.RenderSingleCameraInternal | URP は ScriptableRenderContext に 1 台のカメラのレンダリングコマンドのリストを作成します。URP はこのマーカーのレンダリングコマンドを記録しますが、まだ実行しません。マーカーにはカメラ名が含まれます (例: Main Camera)。 |
|
| Inl_ScriptableRenderer.Setup | URP はレンダリングを準備します。例えば、カメラやシャドウマップ用のレンダーテクスチャを準備します。 | |
| CullScriptable | URP は、レンダリングするゲームオブジェクトのリストを生成し、カメラのビューの外にあるものを除去 (除外) します。この処理にかかる時間は、シーン内のゲームオブジェクトとライトの数によって異なります。 | |
| Inl_ScriptableRenderContext.Submit | URP は、ScriptableRenderContext のコマンドリストをグラフィックス API に送信します。URP が 1 つのフレームにつきコマンドを複数回送信する場合や、独自のコードで ScriptableRenderContext.Submit を呼び出す場合に、このマーカーが出現することがあります。 |
|
| MainLightShadow | URP はメインディレクショナルライトの シャドウマップ をレンダリングします。 | |
| AdditionalLightsShadow | URP は他のライトのシャドウマップをレンダリングします。 | |
| UberPostProcess | URP は有効にされた ポストプロセスエフェクト をレンダリングします。このマーカーには、一部のポストプロセスエフェクト用の個別マーカーが含まれています。 | |
| RenderLoop.DrawSRPBatcher | URP は スクリプタブルレンダーパイプラインバッチャー を使用して、1 つ以上のオブジェクトのバッチをレンダリングします。 | |
| CopyColor | URP は、カラーバッファをレンダーテクスチャ間でコピーします。URP アセット の 不透明なテクスチャ を無効にすると、必要な場合にのみ色バッファがコピーされるようになります。 | |
| CopyDepth | URP は深度バッファをレンダーテクスチャ間でコピーします。深度テクスチャを必要とする場合 (例えば、シーン深度を使用するシェーダーを使用する場合) を除いて、URP アセット の 深度テクスチャ を無効にできます。 | |
| FinalBlit | URP はレンダーテクスチャを現在のカメラレンダーターゲットにコピーします。 | |
Xcode などのプラットフォーム GPU プロファイラーを使用して、レンダリング中の GPU のパフォーマンスに関するデータを取得できます。RenderDoc などのプロファイラーも使用できますが、パフォーマンスデータの正確さが劣る可能性があります。
GPU プロファイラーからのデータには、さまざまなレンダーパスなど、イベントをレンダリングするための URP マーカーが含まれます。
以下のツールを使用して、プロジェクトのパフォーマンスを分析することもできます。