优化 GPU 渲染

Unity 提供了各种高级 GPU 功能,这些功能使用实例化和遮挡剔除来显著减少绘制调用次数,并消除隐藏对象的渲染。这些功能协同工作,可在复杂场景中最大限度地提高 GPU 效率。

GPU 常驻抽屉

GPU Resident Drawer 会自动使用 GPU 实例化来减少绘制调用并释放 CPU 处理时间。此功能对于具有许多共享同一网格的物体的大型场景最为有效。

启用此功能

  1. 在 Unity 主菜单中,依次点击 Edit > Project Settings > Graphics
  2. Shader Stripping 部分中,将 Batch Renderer Group Variants 设置为 Keep All
  3. 找到您的默认渲染流水线资源,也就是您的 URP 资源。
  4. 在项目中搜索相应素材资源。
  5. 右键点击相应素材资源,然后选择属性
  6. Renderer List 中,右键点击 Universal Renderer,然后选择 Properties
  7. 渲染路径设置为正向
  8. 返回到 URP 资源,选择该资源,然后点击其中的三点状图标,并选择调试
  9. GPU Resident Drawer Mode 设置为 Instanced Drawing

GPU 遮挡剔除

遮挡剔除使用 GPU 而不是 CPU 来排除隐藏在其他对象后面的对象。此功能在遮挡较多的场景(例如室内或密集环境)中效果最佳。

启用此功能

  1. 在 Unity 主菜单中,依次点击 Edit > Project Settings > Graphics
  2. 启用 GPU 遮挡剔除
  3. 选择 URP 标签页。
  4. Render Graph 部分中,停用兼容模式(Render Graph 已停用)

优化了缓冲区舍弃

此优化通过舍弃不必要的深度缓冲区数据并高效处理 MSAA 颜色缓冲区来提高性能,从而减少内存操作。

优势

  • 消除了不必要的图形数据复制和移动。
  • 加快所有情况下的 GPU 渲染速度。

启用此功能

  1. 在 Unity 主菜单中,依次点击 Edit > Project Settings
  2. 展开 XR 插件管理部分,然后点击 OpenXR
  3. 选择 Android 标签页。
  4. 选择 Android XR 特征组。
  5. 点击 Android XR 支持旁边的齿轮图标。
  6. 启用优化缓冲区舍弃 (Vulkan)

    Unity 设置优化了缓冲区舍弃

停用从前往后渲染

从前往后渲染是一种渲染顺序实验,您可以在场景中尝试。与低分辨率 Z (LRZ) 等优化相结合时,它可能有助于提高存在显著遮挡的场景中的性能,其中背景对象使用昂贵的片段着色器。

不过,启用此设置也可能会降低性能。因此,建议您将其保留为默认设置(已停用)。