Version: Unity 6.0 (6000.0)
语言 : 中文
URP 的 DOTS 实例化着色器函数参考
内置渲染管线中的图形性能和性能分析

在 URP 中启用 GPU 遮挡剔除

GPU 遮挡剔除意味着当对象被其他对象遮挡时,Unity 会使用 GPU 而不是 CPU 来排除渲染对象。Unity 会使用此信息来加快场景中存在大量遮挡时的渲染。

GPU Resident Drawer 仅适用于以下情况:

GPU 遮挡剔除的工作原理

Unity 会从场景中的摄像机和光源的角度生成深度纹理。

然后由 GPU 使用当前帧和前一帧的深度纹理来剔除对象。Unity 仅会渲染在任一帧中均未被遮挡的对象。Unity 会剔除其余对象,即两帧中都被遮挡的对象。

GPU 遮挡剔除是否会加快渲染速度则取决于场景。GPU 遮挡剔除在以下情况中最为有效:

  • 多个对象使用相同的网格,从而让 Unity 可以将它们分组到单个绘制调用中。
  • 场景中存在大量遮挡,尤其是在被遮挡对象具有大量顶点的情况下。

如果遮挡剔除对场景没有太大影响,则渲染时间可能会增加,因为 GPU 会为设置 GPU 遮挡剔除而进行额外的工作。

启用 GPU 遮挡剔除

  1. 转到 图形 (Graphics),选择 URP 选项卡,然后转到 渲染图表 (Render Graph) 分段,确保禁用 兼容模式(禁用渲染图表)(Compatibility Mode (Render Graph Disabled))
  2. 启用 GPU Resident Drawer
  3. 转到活动的 通用渲染器 (Universal Renderer),启用 GPU 遮挡 (GPU Occlusion)

分析 GPU 遮挡剔除

您可以使用以下方法分析 GPU 遮挡剔除:

其他资源

URP 的 DOTS 实例化着色器函数参考
内置渲染管线中的图形性能和性能分析