URP における CPU でのレンダリング処理の削減
URP の GPU レジデントドロワーと互換性のあるゲームオブジェクトを作成する
URP の GPU Resident Drawer の有効化
GPU Resident Drawer は、自動的に BatchRendererGroup API を使用して GPU インスタンシングによりゲームオブジェクトを描画します。これにより、ドローコールの回数が減り、CPU 処理時間が解放されます。詳細については、BatchRendererGroup の仕組み を参照してください。
GPU Resident Drawer は以下の場合にのみ機能します。
上記以外の場合、Unity は GPU インスタンシングなしでゲームオブジェクトを描画します。
GPU Resident Drawer を有効にすると、以下の内容が適用されます。
- すべての
BatchRendererGroup シェーダーバリアントをビルドにコンパイルするため、ビルド時間が長くなります。
GPU Resident Drawer の有効化
以下の手順に従ってください。
-
Project Settings > Graphics に移動し、Shader Stripping セクションで BatchRendererGroup Variants を Keep All に設定します。
- アクティブな URP アセット に移動し、SRP Batcher を有効にします。
-
Renderer List でレンダラーをダブルクリックしてユニバーサルレンダラーを開き、Rendering Path を Forward+ に設定します。
-
GPU Resident Drawer を Instanced Drawing に設定します。
ゲームオブジェクトをフレームごとに変更または作成すると、GPU Resident Drawer はその変更に合わせて更新されます。
GPU Resident Drawer にゲームオブジェクトを追加/除外するには、GPU Resident Drawer と互換性のあるゲームオブジェクトの作成 を参照してください。
GPU Resident Drawer の分析
GPU Resident Drawer の効果を分析するには、以下を使用します。
GPU Resident Drawer の最適化
GPU Resident Drawer がレンダリングをどれだけ高速化するかは、シーンによって異なります。GPU Resident Drawer は、以下の設定で最も効果的です。
- 大規模なシーン。
- 複数のゲームオブジェクトが同じメッシュを使用し、1 つのドローコールにグループ化できる場合。
通常、シーンビューやゲームビューでは、再生モードや最終的にビルドされたプロジェクトと比べて、レンダリングスピードがあまり上がりません。
以下を実行することで、 GPU Resident Drawer のスピードが上がる可能性があります。
-
Project Settings > Player の順に移動し、Other Settings セクションで Static Batching を無効にします。
-
Window > Panels > Lighting の順に移動し、Lightmapping Settings セクションで Fixed Lightmap Size を有効にして Use Mipmap Limits を無効にします。
追加リソース
URP における CPU でのレンダリング処理の削減
URP の GPU レジデントドロワーと互換性のあるゲームオブジェクトを作成する
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。