版本:Unity 6 (6000.0)
语言:English
URP 中的已知问题
URP 中的图形质量设置

配置 URP 以获得更好的性能

您可以禁用或更改通用渲染管线一系列操作,用于获取场景内容并在屏幕上显示。Unity 允许您从预构建的渲染管线中选择,或编写自己的渲染管线。 更多信息
参见 术语表
(URP) 设置和功能,这些设置和功能会对性能产生重大影响。这有助于您为项目获得更好的性能,尤其是在低端平台上。

根据您的项目或目标平台,以下一项或所有项目可能影响最大

  • 您选择的渲染路径渲染管线用于渲染图形的技术。选择不同的渲染路径会影响光照和阴影的计算方式。某些渲染路径比其他渲染路径更适合不同的平台和硬件。 更多信息
    参见 术语表
  • URP 使用的内存量
  • CPU 上的处理时间
  • GPU 上的处理时间

您可以使用Unity Profiler 或 GPU 分析器一个帮助您优化游戏的窗口。它显示在游戏的各个区域花费了多少时间。例如,它可以报告渲染、动画或游戏逻辑中花费的时间百分比。 更多信息
参见 术语表
(例如 RenderDocXcode)来衡量每个设置对项目性能的影响。

如果您的项目需要某些功能,则您可能无法禁用这些功能。

选择渲染路径

请参阅通用渲染器,以获取有关 URP 中三种渲染路径以及每种路径的性能影响和限制的更多信息。

减少 URP 使用的内存量

您可以在URP 资源中执行以下操作

  • 禁用深度纹理,除非您需要它(例如,如果您使用采样场景深度的着色器),以便 URP 仅在需要时存储深度纹理。
  • 禁用不透明纹理,以便 URP 不会在场景场景包含游戏环境和菜单。将每个唯一的场景文件视为一个唯一的关卡。在每个场景中,您可以放置环境、障碍物和装饰,本质上是分段设计和构建游戏。 更多信息
    参见 术语表
    中存储不透明对象的快照,除非需要。
  • 如果您使用延迟渲染路径,请禁用使用渲染层,以便 URP 不创建额外的渲染目标。
  • 如果您不需要,请禁用高动态范围 (HDR),以便 URP 不执行HDR高动态范围
    参见 术语表
    计算。如果您需要 HDR,请将HDR 精度设置为32 位
  • 降低主光源 > 阴影分辨率,以降低主光源阴影贴图的分辨率。
  • 如果您使用其他光源,请降低其他光源 > 阴影图集分辨率,以降低其他光源阴影贴图的分辨率。
  • 如果您不需要,请禁用光饼干,或者降低饼干图集分辨率饼干图集格式
  • 在低端移动平台上,将存储操作设置为自动丢弃,以便 URP 不使用内存带宽将每个通道的渲染目标复制进出内存。

通用渲染器资源中,您可以将中间纹理设置为自动,以便 Unity 仅在必要时使用中间纹理进行渲染。这也有助于减少 URP 使用的 GPU 内存带宽。使用帧调试器检查 URP 是否在您更改此设置时删除了中间纹理。

您还可以执行以下操作

  • 最大限度地减少贴花渲染功能的使用,因为 URP 会创建额外的渲染通道来渲染贴花。这还可以减少 CPU 和 GPU 上的处理时间。请参阅贴花渲染功能以获取更多信息。
  • 对于不使用的功能,请剥离着色器变体

减少 CPU 上的处理时间

您可以在 URP 资源中执行以下操作

  • 体积更新模式设置为通过脚本,以便 URP 不在每一帧更新体积。您需要使用 API(例如UpdateVolumeStack)手动更新体积。
  • 在低端移动平台上,如果您使用反射探针一种渲染组件,它会捕获其周围环境在所有方向上的球形视图,就像相机一样。然后,捕获的图像将存储为立方体贴图,可供具有反射材质的对象使用。 更多信息
    参见 术语表
    ,请禁用探针混合盒子投影
  • 阴影部分,降低最大距离,以便 URP 在阴影通道中处理较少的对象。这还可以减少 GPU 上的处理时间。
  • 阴影部分,降低级联数量以减少渲染通道的数量。这还可以减少 GPU 上的处理时间。
  • 其他光源部分,禁用投射阴影。这还可以减少 GPU 上的处理时间以及 URP 使用的内存量。

场景中的每个摄像机一个创建场景中特定视点的图像的组件。输出要么绘制到屏幕上,要么捕获为纹理。 更多信息
参见 术语表
都需要 URP 剔除和渲染的资源。为了优化 URP 以获得更好的性能,请最大限度地减少使用的摄像机数量。这还可以减少 GPU 上的处理时间。

减少 GPU 上的处理时间

您可以在 URP 资源中执行以下操作

  • 减少或禁用抗锯齿 (MSAA),以便 URP 不使用内存带宽将帧缓冲区附件复制进出内存。这还可以减少 URP 使用的内存量。
  • 禁用地形场景中的景观。地形游戏对象会在场景中添加一个大的平面,您可以使用地形的检查器窗口创建详细的景观。 更多信息
    参见 术语表
    孔洞
  • 启用SRP 批处理程序,以便 URP 减少绘制调用之间的 GPU 设置,并在 GPU 内存中使材质数据保持持久性。首先检查您的着色器在 GPU 上运行的程序。 更多信息
    参见 术语表
    SRP 批处理程序兼容。这还可以减少 CPU 上的处理时间。
  • 在低端移动平台上,禁用LOD细节层次 (LOD) 技术是一种优化,当游戏对象与摄像机的距离增加时,它会减少 Unity 必须为游戏对象渲染的三角形数量。 更多信息
    参见 术语表
    交叉淡入淡出
    ,以便 URP 不使用 Alpha 测试来淡入淡出细节层次 (LOD) 网格。
  • 如果使用前向渲染一种渲染路径,它以一个或多个通道渲染每个对象,具体取决于影响对象的光源。光源本身也由前向渲染以不同的方式处理,具体取决于其设置和强度。 更多信息
    参见 术语表
    路径,请将其他光源设置为禁用每个顶点。这减少了 URP 计算光照的工作量。如果设置为禁用,这还可以减少 CPU 上的处理时间。
  • 禁用软阴影,或启用软阴影但降低质量

您可以在通用渲染器资源中执行以下操作

  • 如果您使用 Vulkan、Metal 或 DirectX 12 图形 API,请启用原生渲染通道,以便 URP 自动减少其将渲染纹理一种在运行时创建和更新的特殊类型的纹理。要使用它们,首先创建一个新的渲染纹理,并指定您的一个摄像机渲染到其中。然后,您可以像使用普通纹理一样在材质中使用渲染纹理。 更多信息
    参见 术语表
    复制进出内存的频率。这还可以减少 URP 使用的内存量。
  • 如果您使用前向或前向+渲染路径,请将深度启动模式设置为 PC 和主机平台的自动强制,或移动平台的禁用。在 PC 和主机平台上,这使得 URP 创建和使用深度纹理以避免在遮挡像素上运行像素计算机图像中最小的单位。像素大小取决于您的屏幕分辨率。像素照明是在每个屏幕像素处计算的。 更多信息
    参见 术语表
    着色器。
  • 深度纹理模式设置为透明后,以便 URP 避免在不透明通道和透明通道之间切换渲染目标。

您还可以执行以下操作

  • 避免使用复杂光照着色器,它具有复杂的光照计算。如果您使用复杂光照着色器,请禁用清漆层
  • 在低端移动平台上,对静态对象使用烘焙光照着色器,对动态对象使用简单光照着色器
  • 如果您使用屏幕空间环境光遮蔽 (SSAO),请参阅环境光遮蔽一种近似计算有多少环境光(不是来自特定方向的光)可以照射到表面上的一个点的方法。
    参见 术语表
    ,以获取有关对性能产生重大影响的设置的更多信息。

其他资源

有关设置的更多信息,请参阅以下内容

URP 中的已知问题
URP 中的图形质量设置