Version: 6000.3
语言: 中文
优化绘制调用简介
GPU实例化

选择优化绘制调用的方法

如果 CPU 向 GPU 发送过多的绘制调用(也称为 CPU 绑定),请使用绘制调用优化。有关绘制调用的更多信息,请参阅优化绘制调用简介

检查抽奖调用的数量

要检查您的场景场景包含游戏的环境和菜单。将每个唯一的场景文件视为一个独特的关卡。在每个场景中,你放置你的环境、障碍物和装饰品,基本上是将你的游戏设计和构建成碎片。更多信息
请参阅术语表
发送过多的绘制调用,请执行以下任一作:

选择优化方法

优化绘制调用的支持和推荐方法取决于您是否使用 Universal渲染管线(Render Pipeline) 获取场景内容并将其显示在屏幕上的一系列作。Unity 允许您从预构建的渲染管道中进行选择,或编写自己的渲染管道。更多信息
请参阅术语表
(URP)、高清渲染管线 (HDRP) 或内置渲染管线 (BIRP)。

特征 类型 多线程 URP 中的推荐 HDRP 中的推荐 内置渲染管线中的建议
可编写脚本的渲染管线(SRP)批处理程序 减少渲染状态更新 不。 使。请参阅 URP 中的 SRP 批处理程序 使。请参阅 HDRP 中的 SRP Batcher 不支持。
GPU常驻抽屉 使用GPU实例化。 是的。 使。请参阅URP中的GPU驻留抽屉 使。请参阅 HDRP 中的 GPU 驻留抽屉 不支持。
BatchRendererGroup(BRG)应用程序接口 使用GPU实例化。 是的。 请改用GPU驻留抽屉,高级用例除外。 请改用GPU驻留抽屉,高级用例除外。 不支持。
GPU实例化 使用GPU实例化。 不。 禁用,以避免额外的着色器在 GPU 上运行的程序。更多信息
请参阅术语表
变种。
禁用,以避免额外的着色器变体。 如果有许多实例或光源,请启用。请参阅GPU实例化
配料 组合网格 不。 禁用。静态批处理Unity 用于在屏幕上绘制游戏对象的一种技术,它将静态(非移动)游戏对象组合成大网格,并以更快的方式呈现它们。更多信息
请参阅术语表
与 BRG API 或 GPU 常驻抽屉不兼容。
禁用。静态批处理与 BRG API 或 GPU 常驻抽屉不兼容。 启用静态批处理。动态批处理:一种自动 Unity 过程,它尝试将多个网格渲染为单个网格,以优化图形性能。该技术转换 CPU 上的所有游戏对象顶点,并将许多相似的顶点组合在一起。更多信息
请参阅术语表
不再推荐。请参阅批处理

如果你有许多实例或光源,你还可以使用细节级别(LOD)来优化网格体渲染

若要从任何绘制调用优化方法中获得最佳结果,请执行以下作:

  • 用同样的材料做不同的游戏对象Unity 场景中的基本对象,可以表示角色、道具、风景、相机、航路点等。游戏对象的功能由附加到它的组件定义。更多信息
    请参阅术语表
    尽可能多。
  • 如果要渲染相同的meshUnity 的主要图形原语。网格体构成了 3D 世界的很大一部分。Unity 支持三角或四边形多边形网格。Nurbs、Nurms、Subdiv 曲面必须转换为多边形。更多信息
    请参阅术语表
    具有不同属性(例如不同颜色)时,请使用材质变体而不是多个材质。
  • 避免使用MaterialPropertyBlockURP 和 HDRP 中的 API。

使用多种优化方法

可以在同一场景中使用多个绘制调用优化方法,但每个游戏对象仅按此优先级顺序使用以下方法之一:

  1. SRP Batcher 和静态批处理(如果启用了它)。
  2. GPU实例化,包括GPU驻留抽屉或BatchRendererGroup应用程序接口。
  3. 动态批处理。

其他资源

优化绘制调用简介
GPU实例化