您可以使用 Unity Profiler 获取项目在 CPU 和内存等方面性能的数据。
下表列出了 Unity Profiler一个帮助您优化游戏的窗口。它显示了在游戏各个领域花费的时间。例如,它可以报告渲染、动画或游戏逻辑所花费的时间百分比。 更多信息
请参阅 术语表 中 URP 帧中的标记,这些标记对性能有重大影响。
如果标记在 Profiler 层次结构中很深,或者标签已经描述了 URP 的功能,则该表不包括该标记。
标记 | 子标记 | 描述 |
---|---|---|
Inl_UniversalRenderPipeline. RenderSingleCameraInternal | URP 为单个 相机一个组件,用于创建场景中特定视点的图像。输出将绘制到屏幕上或捕获为纹理。 更多信息 请参阅 术语表 在 ScriptableRenderContext 中构建渲染命令列表。URP 只在此标记中记录渲染命令,但尚未执行它们。该标记包含相机名称,例如 主相机。 |
|
Inl_ScriptableRenderer.Setup | URP 为渲染做准备,例如为相机和阴影贴图准备 渲染纹理一种特殊类型的纹理,在运行时创建和更新。要使用它们,首先创建一个新的渲染纹理,并指定一个相机渲染到其中。然后,您可以在材质中像使用普通纹理一样使用渲染纹理。 更多信息 请参阅 术语表。 |
|
CullScriptable | URP 生成要渲染的 游戏对象Unity 场景中的基本对象,可以表示角色、道具、场景、相机、航点等等。游戏对象的功能由附加到它的组件定义。 更多信息 请参阅 术语表 和灯光列表,并剔除(排除)任何超出相机视野的对象。此过程所需的时间取决于场景中游戏对象和灯光的数量。 |
|
Inl_ScriptableRenderContext.Submit | URP 将 ScriptableRenderContext 中的命令列表提交到图形 API。如果 URP 每帧提交命令不止一次,或者您在自己的代码中调用 ScriptableRenderContext.Submit ,则此标记可能会出现多次。 |
|
MainLightShadow | URP 为主要的方向光渲染 阴影贴图。 | |
AdditionalLightsShadow | URP 为其他灯光渲染阴影贴图。 | |
UberPostProcess | URP 渲染您启用的 后期处理效果。此标记包含一些 后期处理通过在图像显示在屏幕上之前应用滤镜和效果来改善产品视觉效果的过程。您可以使用后期处理效果来模拟物理相机和胶片特性,例如 Bloom 和景深。 更多信息 后期处理,postprocessing,postprocess 请参阅 术语表 效果的单独标记。 |
|
RenderLoop.DrawSRPBatcher | URP 使用 可脚本化渲染管道批处理器 渲染一个或多个对象批次。 | |
CopyColor | URP 将颜色缓冲区从一个渲染纹理复制到另一个渲染纹理。您可以在 URP 资源 中禁用 不透明纹理,以便 URP 仅在需要时才复制颜色缓冲区。 | |
CopyDepth | URP 将 深度缓冲区一个内存存储,它保存图像中每个像素的 z 值深度,其中 z 值是每个渲染像素从投影平面到深度。 更多信息 请参阅 术语表 从一个渲染纹理复制到另一个渲染纹理。除非您需要深度纹理(例如,如果您使用使用场景深度的着色器),否则您可以在 URP 资源 中禁用 深度纹理。 |
|
FinalBlit | URP 将渲染纹理复制到当前相机渲染目标。 |
您可以使用平台 GPU 分析器(例如 Xcode)获取渲染过程中 GPU 性能的数据。您也可以使用 RenderDoc 等分析器,但它提供的性能数据可能不太准确。
GPU 分析器提供的数据包括用于渲染事件(例如不同的渲染通道)的 URP 标记。
您还可以使用以下工具分析项目的性能