开发

Unity 分析器和 Unity Profile Analyzer 入门指南

Unity 分析器通过在 Meta Quest 头戴设备上构建和运行应用来收集应用的性能信息。开发者可以使用 Unity 分析器直接在 Unity 开发环境中分析性能。
Unity Profile Analyzer 用于从分析器跟踪所捕获的一系列帧中提取数据,并对它们进行统计分析,为每个函数生成有用信息,例如最小值、中值、平均值、最大计时,以及这些提取帧中的总调用次数和计数平均值。
本指南将介绍如何将应用连接到 Unity 分析器并开始收集数据。有关分析器Profile Analyzer 的详细文档,请参阅 Unity 官网。如对任何模块存有疑问,我们建议您阅读 Unity 的文档。
Unity Profiler window

设置

Unity 分析器只能用于开发版本。请按照以下步骤使用 Unity 分析器,进行项目分析:
  1. 前往文件 > 构建配置文件
  2. 将构建平台切换为 Android(已切换可略过此步骤)。
  3. 运行设备下拉列表中选择头戴设备。只有当设备通过 USB 与计算机连接时,才会列出该设备。
  4. 确保选择了开发编译版本
  5. 确保选择了自动连接分析器。此选项将通过本地 IP 地址将开发编译版本连接到 Unity 分析器,以便它在设备上运行时对其进行分析。
  6. 按下构建和运行,在 Meta Quest 头戴设备上构建和运行。分析器窗口将在成功完成构建后显示并填充数据。
  7. 点击分析器模块并选择 GPU 使用情况,将 GPU 使用情况分析器添加到模块列表中(如果它不存在的话)。前往窗口 > 分析 > 分析器菜单,即可找到分析器模块
该项目将在连接的头戴设备上构建和运行应用。Unity 分析器将开始从运行中的应用收集数据。收集了数据后,您可以点击时间线来选择感兴趣的范围,并在下方查看该范围的概览,包括绘图调用和计时情况。

关于 Unity 分析器结果的说明

查看 Unity 分析器结果时,请记住以下几个考虑因素:

绘图调用计时的准确性

受分析开销的影响,绘图调用计时高于实际计时。特别是在有许多较小的绘图时。因此,我们建议使用该数字来进行相对值比较,而不是考虑绝对数字。

运行时抢占导致的异常情况

有时分析结果中会有一些噪点。例如:一个非常简单的几何体有时也会显示异常高的 GPU 计时。这类异常情况一般是运行时 GPU 抢占造成的(例如边界、异步时间扭曲)。如果在开发 Meta Quest 的过程中出现异常结果,请收集几个分析样本,看看是否有异常再次发生。绘图调用与运行时抢占之间会随机发生碰撞。

动态时钟节流

Meta Quest GPU 支持动态时钟节流来进行电池优化。GPU 性能因不同的时钟级别而异,从而影响分析结果。请留意应用的 GPU 级别,以便确保进行公平的比较。