Version: Unity 6.0 (6000.0)
语言 : 中文
在 URP 中启用 SRP 批处理程序
删除 URP 中游戏对象的 SRP 批处理程序兼容性

对 URP 中的 SRP 批处理程序进行故障排除

可以在帧调试器 (Frame Debugger) 窗口中检查 SRP 批次的状态。每个 SRP 批次 (SRP Batch) 都显示了 Unity 使用的绘制调用次数、Unity 附加到着色器的关键字以及 Unity 未将该绘制调用与上一个绘制调用一起进行批处理的原因。

要检查 SRP 批处理程序 (SRP Batcher) 批次的状态,请执行以下操作:

  1. 在编辑器中,打开帧调试器(菜单:窗口 (Window) > 分析 (Analysis) > 帧调试器 (Frame Debugger))。
  2. 在帧调试器中,转到渲染摄像机 (Render Camera) > 渲染不透明对象 (Render Opaques)
  3. 展开 RenderLoopNewBatcher.Draw 列表。
  4. 选择要检查的 SRP 批次

在以下示例中,原因是:节点具有不同的着色器。这意味着该 SRP 批次的着色器与上一个 SRP 批次中的着色器不同。由于 SRP Batcher 使用不同的着色器,因此 SRP Batcher 创建了一个新批次。如果多个 SRP 批次的绘制调用数量偏少,通常意味着项目使用了太多着色器变体。

在帧调试器窗口中,可以找到有关各个 SRP 批次的详细信息,包括 SRP Batcher 创建新的 SRP 批次而不是继续使用现有批次的原因。
在帧调试器窗口中,可以找到有关各个 SRP 批次的详细信息,包括 SRP Batcher 创建新的 SRP 批次而不是继续使用现有批次的原因。

如果你要编写自己的可编写脚本渲染管线,而不是使用通用渲染管线或高清渲染管线,那么尽量编写一个使用最少数量关键字的通用多用途着色器。这是最优的做法,因为您可以使用任意数量的材质属性。

在 URP 中启用 SRP 批处理程序
删除 URP 中游戏对象的 SRP 批处理程序兼容性