URP アセット設定を使用してレンダリングを最適化する

Unity のユニバーサル レンダリング パイプライン(URP)アセット設定には、パフォーマンスに関連するさまざまな機能と設定が用意されています。これらの機能を有効または無効にして、GPU と CPU のパフォーマンス コストを削減し、画質を向上させます。

URP アセットの設定を変更する

Unity の URP アセット設定にアクセスして、以降のセクションで説明するパフォーマンス機能を構成する手順は次のとおりです。

  1. Unity のメインメニューで、[Edit] > [Project Settings] > [Graphics] をクリックします。
  2. デフォルトのレンダリング パイプライン アセット(URP アセット)を見つけます。
  3. プロジェクトでこのアセットを検索します。
  4. アセットを右クリックして [プロパティ] を選択します。

HDR を無効にする

HDR を無効にして、モバイル XR ハードウェアのパフォーマンスを向上させます。モバイル XR ハードウェアでは、HDR のパフォーマンス コストに対して視覚的なメリットが最小限に留まります。

この機能を無効にする

前に移動した URP アセットのプロパティで、HDR を無効にします。

後処理を無効にする

モバイル XR ハードウェアでは後処理のコストが高く、パフォーマンス コストと比較して視覚的なメリットが最小限になることがよくあります。

この機能を無効にする

  1. 先ほど移動した URP アセットのプロパティで、[Renderer List] を見つけます。
  2. [Renderer List] で、[Universal Renderer] を右クリックして [Properties] を選択します。
  3. [後処理] セクションで、[有効] をオフにします。

深度プライミング モードを無効にする

XR デバイスは 2 つのビューを使用するため、デプス プライミングに必要なデプス プリパスのパフォーマンス コストが増加します。深度プライミングでは、深度テクスチャを使用して重複をチェックし、重複するピクセルを描画しないことでレンダリングを高速化します。

ただし、ケーブル接続のない XR デバイスでは、深度プライミングを使用するメリットはありません。低解像度 Z(LRZ)や隠面除去(HSR)などのハードウェア最適化機能を使用することで、同様の結果を得ることができます。

利点

  • XR デバイスの 2 つのビューによる深度プリパスのパフォーマンスへの影響の増大を回避します。
  • LRZ や HSR などのハードウェア最適化を使用して、同様の結果を得ることができます。
  • テザリングされていない XR デバイスでサポートされていない不要な手順を削除します。

この機能を無効にする

  1. 先ほど移動した URP アセットのプロパティで、[Renderer List] を見つけます。
  2. [(Universal Renderer Data)] ファイルを右クリックして、[プロパティ] を選択します。
  3. [Depth Priming Mode] を [Disabled] に変更します。

アンチエイリアシングに MSAA を有効にする

マルチサンプル アンチエイリアシング(MSAA)は、モバイルおよびワイヤレス XR プラットフォームで画質を向上させる効率的な方法です。これらのデバイスで一般的なタイルベースの GPU は、同じタイルに多くのサンプルを保存できます。

これにより、MSAA はパフォーマンス効率の高いアンチエイリアシング ソリューションになります。2X MSAA の値は、画質とパフォーマンスのバランスが取れています。

この機能を有効にする

先ほど移動した URP アセットのプロパティで、[アンチエイリアシング(MSAA)] を [2x] に変更します。

URP デバッグモードの設定と機能を使用する

その他の重要な URP アセット設定は、デバッグ モードで使用できます。これらの設定にアクセスする手順は次のとおりです。

  1. Unity のメインメニューで、[Edit] > [Project Settings] をクリックします。
  2. 左側のパネルで [グラフィック] セクションを選択します。
  3. デフォルトのレンダリング パイプライン アセット(URP アセット)を見つけます。
  4. プロジェクトでこのアセットを検索して選択します。
  5. 右上にあるその他アイコンをクリックし、[デバッグ] を選択します。

深度と不透明なテクスチャを無効にする

深度テクスチャと不透明テクスチャを無効にすると、GPU 時間を無駄にする余分なテクスチャ コピーがなくなります。これらのテクスチャにより、コピー オペレーションと GMEM ロードが追加され、パフォーマンスが低下します。

URP アセットのデバッグ設定で、次のオプションを無効にします。

  • Require Depth Textures
  • 不透明テクスチャを要求

SRP Batcher を有効にする

SRP Batcher は、同じシェーダー バリアントを使用するマテリアルが多数あるシーンの CPU 時間を削減します。これは、ドローコール間のレンダリング状態の変更を減らすことで実現されます。

URP アセットのデバッグ設定で、[Use SRP Batcher] を有効にします。