版本:Unity 6 (6000.0)
语言:English
减少 URP 中 CPU 的渲染工作
使游戏对象与 URP 中的 GPU 常驻绘制器兼容

在 URP 中启用 GPU 常驻绘制器

GPU 常驻绘制器自动使用BatchRendererGroup API 绘制游戏对象Unity 场景中的基本对象,可以表示角色、道具、场景、摄像机、路径点等。游戏对象的功 能由附加在其上的组件定义。 更多信息
参见 术语表
,并使用 GPU 实例化,从而减少绘制调用次数并释放 CPU 处理时间。有关详细信息,请参阅BatchRendererGroup 的工作原理

GPU 常驻绘制器仅适用于以下情况

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

否则,Unity 会回退到不使用 GPU 实例化绘制游戏对象。

如果启用 GPU 常驻绘制器,则适用以下内容

  • 构建时间更长,因为 Unity 会将所有 BatchRendererGroup 着色器变体编译到您的构建中。

启用 GPU 常驻绘制器

请按照以下步骤操作

  1. 转到**项目设置** > **图形**,然后在**着色器剥离**部分将**BatchRendererGroup 变体**设置为**保留所有**。
  2. 转到活动URP 资源并启用**SRP Batcher**。
  3. 双击**渲染器列表**中的渲染器以打开通用渲染器,然后将**渲染路径**设置为**Forward+**。
  4. 将**GPU 常驻绘制器**设置为**实例化绘制**。

如果每帧更改或创建游戏对象,GPU 常驻绘制器会随着更改更新。

要包括或排除 GPU 常驻绘制器中的游戏对象,请参阅使游戏对象与 GPU 常驻绘制器兼容

分析 GPU 常驻绘制器

要分析 GPU 常驻绘制器的结果,可以使用以下方法

优化 GPU 常驻绘制器

GPU 常驻绘制器加速渲染的程度取决于您的场景场景包含游戏环境和菜单。可以将每个唯一的场景文件视为一个唯一的关卡。在每个场景中,放置环境、障碍物和装饰,本质上是分段设计和构建游戏。 更多信息
参见 术语表
。在以下设置中,GPU 常驻绘制器最有效

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

与播放模式或最终构建的项目相比,渲染速度在场景视图对正在创建的世界进行交互式查看。使用场景视图选择和放置场景、角色、摄像机、灯光和所有其他类型的游戏对象。 更多信息
参见 术语表
和游戏视图中通常会降低。

以下操作可能会加快 GPU 常驻绘制器的速度

  • 转到**项目设置** > **播放器**,然后在**其他设置**部分禁用**静态批处理**。
  • 转到**窗口** > **面板** > **灯光**,然后在**光照贴图设置**部分启用**固定光照贴图大小**并禁用**使用 Mipmap 限制**。

其他资源

减少 URP 中 CPU 的渲染工作
使游戏对象与 URP 中的 GPU 常驻绘制器兼容