版本:Unity 6 (6000.0)
语言:英语
调整设置以提高 URP 中的性能
优化 URP 中的绘制调用

优化 URP 中的无束缚 XR 设备

本页面介绍了针对无束缚 XR涵盖虚拟现实 (VR)、增强现实 (AR) 和混合现实 (MR) 应用的总称。支持这些交互式应用程序形式的设备可以称为 XR 设备。 更多信息
参见 词汇表
设备的 URP 项目的优化技术。

大多数无束缚 XR 设备使用基于图块的 GPU。本页面上的指南可帮助您更有效地利用此硬件架构,并避免使用在这些设备上效率较低的渲染技术。

要详细了解基于图块的 GPU 的工作原理,请参阅其他资源部分。

使用 Vulkan API

与针对 XR 平台的 URP 项目中的 OpenGL ES API 相比,Vulkan API 更加稳定,并且提供更好的性能。

有关如何将图形 API 更改为 Vulkan 的信息,请参阅 图形 API 支持

使用 OpenXR 插件

在针对 XR 平台的项目中使用 OpenXR 插件

在您的项目中启用以下设置:* 多视图 \ 单通道渲染 * 注视点渲染

要将 渲染模式 配置为 单通道实例化 \ 多视图

  1. 打开 项目设置一套广泛的设置,可让您配置项目中物理、音频、网络、图形、输入和许多其他领域的运行方式。 更多信息
    参见 词汇表
    窗口。
  2. XR 插件在 Unity 之外创建的一组代码,可在 Unity 中创建功能。您可以在 Unity 中使用两种类型的插件:托管插件(使用 Visual Studio 等工具创建的托管 .NET 程序集)和原生插件(平台特定的原生代码库)。 更多信息
    参见 词汇表
    管理
    下,打开 OpenXR 设置。
  3. Android 选项卡下,将 渲染模式 更改为 单通道实例化 \ 多视图

使用渲染图系统

从 Unity 6 预览版开始,新的 URP 项目使用渲染图系统。请参阅 渲染图系统的优势 以了解 RenderGraph 的优势。

使用正向渲染

在 URP 中,延迟渲染会为 G 缓冲区生成多个渲染目标。Unity 会执行多次 图形内存加载 以访问这些渲染目标,这在基于图块的 GPU 上很慢。

有关 URP 中 G 缓冲区实现的详细信息,请参阅 延迟渲染实现细节

渲染路径渲染管道用来渲染图形的技术。选择不同的渲染路径会影响光照和着色的计算方式。某些渲染路径比其他渲染路径更适合不同的平台和硬件。 更多信息
参见 词汇表
设置位于 渲染 部分的 通用渲染器资源 中。

避免后期处理

避免在无束缚 XR 设备上进行 后期处理通过在图像显示在屏幕上之前应用滤镜和效果来改善产品视觉效果的过程。您可以使用后期处理效果来模拟物理相机和胶片特性,例如光晕和景深。 更多信息 后期处理,后期处理,后期处理
参见 词汇表
,因为它会影响性能。

URP 在多个渲染通道中渲染后期处理,其中一个通道的输出是下一个通道的输入。在基于图块的 GPU 上,最耗费资源的任务之一是执行 GMEM 加载。后期处理通道通常会导致 GMEM 加载,因为它们可能会加载其他纹理或复制当前屏幕颜色信息以执行某些效果。在某些后期处理效果中,例如在 光晕用于再现现实世界相机成像伪像的后期处理效果。该效果会在图像中明亮区域的边界产生光晕,有助于营造出极亮的光线压倒相机或眼睛捕捉场景的错觉。
参见 词汇表
中,渲染一个 像素计算机图像中最小的单位。像素大小取决于屏幕分辨率。像素光照在每个屏幕像素处计算。 更多信息
参见 词汇表
需要对相邻像素进行采样。这会导致对访问特定图块之外的像素进行额外的 GMEM 加载。

在 URP 中,即使没有要执行的效果,后期处理通道也会执行最终的 blit“位块传输”的简称。blit 操作是从内存中的一个位置将数据块传输到另一个位置的过程。
参见 词汇表
。这需要另一个 GMEM 加载,因为 blit 操作将 Unity 执行后期处理通道的当前纹理复制到最终的 相机一个组件,用于创建场景中特定视点的图像。输出将绘制到屏幕上或作为纹理捕获。 更多信息
参见 词汇表
纹理。

在 XR 平台上,Unity 每个视图执行一次此类操作,这会增加性能影响。

注意:某些效果会导致晕动症。有关会导致晕动症的效果列表,请参阅部分 URP 中的 VR 后期处理

要为特定 通用渲染器 禁用后期处理:1. 选择一个 通用渲染器 资源。2. 在 后期处理 下,确保 启用 复选框已清除。

要为相机禁用后期处理

  1. 层次结构 窗口中选择一个相机。
  2. 检查器一个 Unity 窗口,用于显示有关当前选定游戏对象、资源或项目设置的信息,允许您检查和编辑值。 更多信息
    参见 词汇表
    窗口中,展开 渲染 部分。
  3. 确保 后期处理 已清除。

避免使用几何着色器

避免在使用基于图块的 GPU 的平台上使用几何 着色器在 GPU 上运行的程序。 更多信息
参见 词汇表
。某些设备不支持几何着色器。

生成额外的图元和顶点会破坏基于图块的 GPU 流程,因为在 binning 通道之后,图元的划分将变得无效。

使用 MSAA 进行抗锯齿

基于图块的 GPU 可以在同一个图块中存储更多样本。这使得多重采样抗锯齿 (MSAA) 在移动设备和无束缚 XR 平台上变得高效。2X MSAA 值在视觉质量和性能之间取得了良好的平衡。

您可以在 URP 资源的 质量 部分更改 MSAA 设置。

有关 MSAA 的更多信息,请参阅 URP 中的抗锯齿

禁用深度预处理

在 XR 平台上禁用深度预处理。XR 设备具有两个视图,这会增加执行深度预处理通道的性能影响。

对于无束缚 XR 设备,执行深度预处理没有任何优势。您可以使用硬件优化功能(例如低分辨率 Z (LRZ) 或隐藏曲面去除 (HSR))获得类似的结果。

有关如何配置或禁用深度预处理的信息,请参阅 深度预处理模式 属性说明。

禁用不透明纹理和深度纹理属性

禁用 不透明纹理深度纹理 属性以提高性能。启用这些选项会导致额外的纹理复制操作,这需要额外的 GMEM 加载。

有关这些选项的更多信息,请参阅 URP 资源说明的 渲染 部分。

要确定当前配置是否使用中间纹理,请使用 渲染图查看器 窗口。

禁用 SSAO

屏幕空间 环境光遮蔽一种近似计算环境光(非来自特定方向的光线)照射到表面上的点的方法。
参见 词汇表
(SSAO) 在移动设备和无束缚 XR 设备上可能性能不佳。

URP 中的 SSAO 需要深度预处理通道、两个模糊通道以减少噪声以及一个额外的 blit 通道以清理图像。此类通道需要多次 GMEM 加载,这会对基于图块的 GPU 造成巨大的性能影响。

要禁用 SSAO

  1. 选择一个通用渲染器资源。
  2. 检查器 窗口中,在 渲染器功能 部分下,确保 屏幕空间环境光遮蔽 已禁用或不存在。

禁用 HDR

HDR 渲染具有更高的精度,并且可以提高图形保真度,但需要更多位/像素才能进行处理。禁用 HDR高动态范围
参见 词汇表
以减少内存带宽并提高性能。

大多数无束缚 XR 设备不支持 HDR 渲染。

要禁用 HDR:1. 选择一个 URP 资源。2. 在 检查器 窗口中,在 质量 部分下,清除 HDR 属性。

其他资源

调整设置以提高 URP 中的性能
优化 URP 中的绘制调用