包含此页的版本:
不含此页的版本:
了解优化 URP 项目的方法XR一个总称,包括虚拟现实 (VR)、增强现实 (AR) 和混合现实 (MR) 应用。支持这些形式的交互式应用程序的设备可以称为 XR 设备。更多信息
请参阅术语表设备。
本页介绍通用渲染管线 获取场景内容并将其显示在屏幕上的一系列作。Unity 允许您从预构建的渲染管道中进行选择,或编写自己的渲染管道。更多信息
请参阅术语表(URP) 项目,这些项目针对不受限制的扩展现实 (XR) 设备。不受限制的 XR 设备是未通过有线连接到桌面的 XR 设备。
大多数不受限制的 XR 设备都使用基于图块的 GPU。本页上的指南可帮助你更有效地使用此硬件架构,并避免使用在这些设备上效率较低的渲染技术。要详细了解基于平铺的 GPU 的工作原理,请参阅其他资源部分。
要优化您的 XR 项目,请考虑以下事项:
以下部分将更详细地介绍这些方法。
在针对 XR 平台的 URP 项目中,与 OpenGL ES API 相比,Vulkan API 更稳定,并提供更好的性能。许多新的 OpenXR 功能仅在 Vulkan 上可用。
有关如何将图形 API 更改为 Vulkan 的信息,请参阅配置图形 API。
在面向XR平台的项目中使用OpenXR插件。
在 OpenXR 项目中启用以下设置:
提示:考虑 URP Application SpaceWarp 是否适合你的项目。应用程序 SpaceWarp 可以显著提高帧速率,但可能会导致某些内容出现可见的伪影。
在 Unity 6.0 及更高版本中,新的 URP 项目使用渲染图系统。请参阅渲染图系统的好处,了解渲染图的好处。
在 URP 中,延迟渲染会为 G 缓冲区生成多个渲染目标。Unity 执行多个图形内存加载(Qualcomm 文档)来访问这些渲染目标,这在基于图块的 GPU 上速度很慢。
有关在 URP 中实现 G 缓冲区的更多信息,请参阅延迟渲染实现详细信息。
这渲染路径渲染管线用于渲染图形的技术。选择不同的渲染路径会影响照明和着色的计算方式。某些渲染路径比其他路径更适合不同的平台和硬件。更多信息
请参阅术语表设置位于通用渲染器资源的 渲染(Rendering) 分段中。
一些后处理在图像出现在屏幕上之前通过应用滤镜和效果来改善产品视觉效果的过程。你可以使用后期处理效果来模拟物理摄像机和胶片属性,例如泛光和景深。更多信息 后处理, 后处理, 后处理
在术语表中查看XR平台支持效果,如XR中的通用渲染管线兼容性中所述。但是,建议的做法是避免在未受托的 XR 设备上进行后处理,因为它会影响性能。
URP 在多个渲染通道中渲染后处理,其中一个通道的输出是下一个通道的输入。在基于图块的 GPU 上,最耗费资源的任务之一是执行 GMEM 加载。后处理通道通常会导致 GMEM 加载,因为它们可能会加载其他纹理或复制当前屏幕颜色信息以执行某些效果。在某些后处理效果中,例如在绽放 用于再现真实世界摄像机的成像伪影的后期处理效果。该效果会产生从图像中明亮区域边界延伸的光条纹,从而产生极其明亮的光线淹没相机或捕捉场景的眼睛的错觉。
请参阅术语表,将像素计算机图像中的最小单位。像素大小取决于您的屏幕分辨率。像素光照是在每个屏幕像素下计算的。更多信息
请参阅术语表需要对相邻像素进行采样。这可能会导致访问特定图块外部的像素时产生额外的 GMEM 负载。
在 URP 中,后处理传递执行最终blit“位块传输”的简写术语。blit作是将数据块从内存中的一个位置传输到另一个位置的过程。
请参阅术语表即使没有要执行的效果。这需要另一个 GMEM 加载,因为 blit作将 Unity 执行后处理通道的当前纹理复制到最终相机在场景中创建特定视点图像的组件。输出要么绘制到屏幕上,要么作为纹理捕获。更多信息
请参阅术语表质地。
在 XR 平台上,Unity 为每个视图执行一次此类作,这会增加对性能的影响。
注意:有些影响会导致晕车。请参阅URP for VR中的后期处理部分,了解可能导致晕动病的效果列表。
要禁用特定通用渲染器的后处理:
要禁用摄像机的后期处理,请执行以下作:
避免使用几何图形着色器在 GPU 上运行的程序。更多信息
请参阅术语表在具有基于图块的 GPU 的平台上。某些设备不支持几何着色器。
生成其他基元和顶点会中断平铺的 GPU 流,因为分箱传递后的基元划分将变得无效。
基于图块的 GPU 可以在同一图块中存储更多样本。这使得多样本抗锯齿 (MSAA) 在移动和不受限制的 XR 平台上非常高效。2 倍的 MSAA 值在视觉质量和性能之间提供了良好的平衡。
你可以在URP资产的 质量(Quality) 分段中更改MSAA设置。有关MSAA的更多信息,请参阅URP 中的抗锯齿。
在XR平台上禁用深度启动。XR设备有两个视图,这增加了执行深度预传递对性能的影响。
对于未受绑的XR设备,执行深度启动没有任何好处。您可以使用硬件优化功能(例如低分辨率-Z(LRZ)或隐藏表面去除(HSR))获得类似的结果。
有关如何配置或禁用深度启动的信息,请参阅深度启动模式属性说明。
禁用 不透明纹理(Opaque Texture) 和 深度纹理(Depth Texture) 属性以提高性能。启用这些选项会导致额外的纹理复制作,这需要额外的GMEM加载。
有关这些不透明和深度纹理属性的更多信息,请参阅渲染。
要确定当前配置是否使用中间纹理,请使用 渲染图表查看器(Render Graph Viewer) 窗口。
屏幕空间环境光遮挡 一种近似环境光(不是来自特定方向的光)可以击中表面上某个点的量的方法。
请参阅术语表(SSAO) 在移动和不受限制的 XR 设备上的性能可能较差。
URP 中的 SSAO 需要深度启动通道、两个模糊通道以减少噪点,以及一个额外的模糊通道来清理图像。此类传递需要多个 GMEM 负载,这对基于图块的 GPU 具有很高的性能影响。
高清渲染 (HDR) 具有更高的精度并提高了图形保真度,但每个像素需要更多的位来处理。禁用HDR高动态范围
请参阅术语表以减少内存带宽并提高性能。
大多数不受限制的 XR 设备不支持 HDR 渲染。
要禁用 HDR:
注意:某些功能(例如 HDR 光源估计)需要 HDR。检查项目使用的功能的要求,以确保不需要 HDR。
Unity 建议您实现分辨率缩放,以减少 GPU 工作负载并保持稳定的帧速率。
要了解更多信息,请参阅 XR 项目中的分辨率控制。