Version: 6000.3
语言: 中文
GPU常驻抽屉
使游戏对象与 URP 中的 GPU 常驻抽屉兼容

在URP中启用GPU驻留抽屉

GPU 常驻抽屉自动使用BatchRendererGroup绘制的 API游戏对象Unity 场景中的基本对象,可以表示角色、道具、风景、相机、航路点等。游戏对象的功能由附加到它的组件定义。更多信息
请参阅术语表
使用 GPU 实例化,这减少了绘制调用的数量并释放了 CPU 处理时间。有关更多信息,请参阅 BatchRendererGroup 的工作原理

GPU 常驻抽屉仅适用于以下情况:

  • 前进+ 渲染路径渲染管道用于渲染图形的技术。选择不同的渲染路径会影响照明和着色的计算方式。某些渲染路径比其他渲染路径更适合不同的平台和硬件。更多信息
    请参阅术语表
    .
  • 支持计算的图形 API 和平台着色器在 GPU 上运行的程序。更多信息
    请参阅术语表
    ,OpenGL ES 除外。
  • 具有网格渲染器组件的游戏对象。

否则,Unity 将回退到绘制游戏对象而不进行 GPU 实例化。

如果启用 GPU 常驻抽屉,则适用以下内容:

  • 构建时间更长,因为 Unity 编译了所有BatchRendererGroup着色器变体。当同时使用 Forward+ 渲染路径和 GPU 驻留抽屉时,默认情况下会使用 Probe Atlas Blending

启用GPU驻留抽屉

按着这些次序:

  1. 转到 项目设置(Project Settings) > 图形(Graphics),然后在 着色器剥离(Shader Stripping) 分段中,将 BatchRendererGroup 变体(BatchRendererGroup Variants) 设置为 全部保留(Keep All)。
  2. 转到活动的 URP 资产并启用 SRP Batcher
  3. GPU 驻留抽屉(GPU Resident Drawer) 设置为 实例化绘图(Instanced Drawing)。
  4. 双击渲染器列表中的渲染器以打开通用渲染器,然后将渲染路径设置为 前进+

如果每帧更改或创建游戏对象,GPU 常驻抽屉会随着更改而更新。

若要在 GPU 常驻抽屉中包含或排除游戏对象,请参阅使游戏对象与 GPU 常驻抽屉兼容

分析 GPU 常驻抽屉

要分析GPU常驻抽屉的结果,可以使用以下方法:

优化GPU驻留抽屉

GPU Resident Drawer 将渲染速度提高到什么程度取决于你的场景场景包含游戏的环境和菜单。将每个唯一的场景文件视为一个独特的关卡。在每个场景中,你放置你的环境、障碍物和装饰品,基本上是将你的游戏设计和构建成碎片。更多信息
请参阅术语表
. GPU 常驻抽屉在以下设置中最有效:

  • 场面很大。
  • 多个游戏对象使用相同的meshUnity 的主要图形原语。网格体构成了 3D 世界的很大一部分。Unity 支持三角或四边形多边形网格。Nurbs、Nurms、Subdiv 曲面必须转换为多边形。更多信息
    请参阅术语表
    ,因此 Unity 可以将它们分组到单个绘制调用中。

渲染速度通常较低场景视图正在创建的世界的交互式视图。使用场景视图来选择和定位场景、角色、摄像机、灯光和所有其他类型的游戏对象。更多信息
请参阅术语表
和 游戏(Game) 视图,与播放模式或最终构建的项目相比。

以下可能会加快 GPU 常驻抽屉的速度:

  • 转到 项目设置(Project Settings) > 播放器(Player),然后在 其他设置(Other Settings) 分段中禁用 静态批处理(Static Batching)。
  • 转到 窗口>渲染>光照(Lighting),然后在 光照贴图设置(Lightmapping Settings) 分段中启用 固定光照贴图大小(Fixed Lightmap Size) 并禁用 使用Mipmap限制(Use Mipmap Limits)。

其他资源

GPU常驻抽屉
使游戏对象与 URP 中的 GPU 常驻抽屉兼容