性能分析工具

Tutorial

intermediate

+0XP

30 mins

(26)

Unity Technologies

性能分析工具

在本教程中,我们将介绍一些可在 3D 移动应用程序中测量性能和识别瓶颈的优化工具。

Languages available:

1. 在 Unity 中进行性能分析

可以使用多种工具测试游戏在移动设备上的性能,例如性能分析器和图形调试器。这些工具可为你提供关于游戏如何使用给定设备(例如开发计算机或手机)资源的详细视图。

Unity 内置的性能分析器 (Window > Analysis > Profiler) 可在 Unity 编辑器或连接的设备中运行时分析游戏中的场景,并显示你的应用程序将时间花在了什么地方。性能分析器以图表形式显示数据,直观说明设备是如何处理 CPU 和 GPU 工作负载的。在这里,你可以确定游戏中的问题区域,并发现优化性能的机会。

Unity 内置的帧调试器 (Window > Analysis > Frame Debugger) 可帮助你探索游戏进行的 OpenGL ES 或 Vulkan API 调用,深入分析每次绘制调用,让你能够识别渲染缺陷、评估场景中的细节级别并找出开销巨大的着色器以进行优化。

下面的屏幕截图显示了某应用程序运行期间性能分析器的图形化测量结果,在图中可以直观地看到 CPU 使用率、内存占用以及每个 CPU 线程上的具体操作:

2. 在 Unity 编辑器中进行性能分析与在设备上进行性能分析

对于制作期间遇到的问题,在开发计算机上使用内置性能分析器对应用程序进行性能分析十分便捷。但要确切了解移动应用程序的性能和潜在瓶颈,我们强烈建议你针对目标设备构建应用并在目标设备上进行性能分析。

在开发计算机上进行性能分析有用、便捷,但该过程会产生在 Unity 编辑器中渲染移动应用程序的开销以及编辑器本身的开销。当针对目标移动设备进行构建时,可以隔离整个应用程序,同时获得内置性能分析器的好处,从而在更准确的情况下进行性能分析和测试。

有关针对所选平台创建开发构建的更多信息,请参阅 Unity 文档

3. 使用 Arm Streamline 进行性能分析

虽然 Unity 性能分析器可在运行时向你显示某些作业的排程,但它不显示可用的 CPU 或 GPU 资源,也不显示这些资源在你进行分析的移动设备上的使用情况。

Arm Streamline 是一个性能分析器,作为 Arm Mobile Studio 的一部分提供。Arm Mobile Studio 是一个免费的性能分析工具套件,用于在使用 Arm Mali GPU 的设备上调试和优化 Android 应用程序。当在未取得 root 权限的设备上运行时,Streamline 可对你的游戏进行分析并提供性能计数器数据,以帮助你了解你的移动应用程序如何使用该设备的资源。

Streamline 衡量 CPU 活动,以查找可降低使用率的区域,并分析移动应用程序问题区域的活跃 GPU 工作负载。你可以探索 GPU 如何处理太小而无法渲染、不在屏幕上或过度绘制的三角形。此外,Streamline 还可以帮助你评估着色器性能和纹理使用情况。

下面的屏幕截图显示了 Streamline 的时间轴视图,该视图呈现了 Android 设备资源(例如 CPU 和总线活动)的详细测量结果:

有关如何使用 Arm Streamline 对移动应用程序进行性能分析的更多信息,请单击此处

4. 总结

性能分析和优化工作流程是一个有用的迭代过程,可用于在收集和分析移动应用的性能数据时查找潜在瓶颈。Unity 内置的性能分析器和帧调试器是分析应用程序如何使用资源的良好起点。当需要更精细的测量时,Arm Streamline 等工具是在目标移动设备上进行性能分析的绝佳解决方案。

在下一个项目中,我们将介绍如何在保障性能的情况下为 3D 移动应用程序创建几何体,自此踏上我们的美术优化之旅。

Complete this Tutorial