Unity性能优化(二) 性能分析篇

性能优化的第一步是 收集数据,在 Unity 中我们有多种性能分析工具可供使用。下面简单介绍几个常用工具。

Unity Profiler:强大的性能分析工具

 

Unity Profiler是游戏开发中最常用的性能分析工具之一,它是Unity自带的功能。你可以通过顶部菜单栏的"Window > Analysis > Profiler"选项来打开该工具。

在游戏启动前或游戏过程中,点击Record按钮(红色的圆圈)即可开始性能测试。一旦开启性能测试,在你点击Profiler界面后,游戏运行将自动暂停,并在Profiler界面上绘制出性能数据曲线。

在Profiler界面中,Record按钮右侧有两个按钮,它们可以逐帧移动选定帧。右上角还有Save和Load按钮,用于保存和加载性能测试数据,方便后续分析。。

Unity Profiler提供了多种性能选项,如CPU使用率(CPU Usage)、内存占用(Memory)、GPU使用率('GPU Usage)等。只需选择相应的选项,即可在下方窗口查看对应性能的细节数据。

点击CPU Usage选项,将展示CPU数据时间线的细节,当前选中帧的范围会高亮显示。通过滚动鼠标滚轮,可以放大或缩小时间线范围。

在下方窗口的Timeline视图下拉菜单中,还可以切换到"Hierarchy"和"Raw Hierarchy"视图。在"Hierarchy"视图中,可以查看选定帧的函数调用堆栈(CallStack),确认函数调用的耗时、GC Alloc等信息。

如果需要查看GPU相关信息,只需点击GPU Usage选项。若发现GPU Usage选项未显示,可以确认Profiler左上角的Profiler Modules是否开启了GPU功能。

 

Frame Debugger:调试渲染性能的利器

Frame Debugger是另一个常用的性能分析工具,它能够查看某一帧的渲染过程。同样地,Unity自带该工具,只需在顶部菜单栏选择"Window > Analysis > Frame Debugger"即可打开。

在游戏运行中,点击Frame Debugger的Enable按钮,游戏将自动暂停,并在界面中展示当前帧的渲染顺序。

选中某一渲染步骤后,界面右侧将显示该步骤使用的Shader以及Shader属性等详细信息。同时,Game视图中也会展示该步骤渲染的结果。

Frame Debugger在优化DrawCall和调试Shader时非常有用。

Profile Analyzer:深入分析性能数据

Profile Analyzer是另一个强大的性能分析工具,它支持查看一段时间内的性能分析数据。标准的Profiler只能查看单帧的数据,而Profile Analyzer能够帮助开发者对一段时间内的性能数据进行更深入的分析。

要使用Profile Analyzer,首先需要通过Package Manager安装该工具。然后,在顶部菜单栏选择"Window > Analysis > Profile Analyzer"来打开它。

使用Profile Analyzer时,首先在Profiler中记录一段时间的性能数据信息。然后,点击Profile Analyzer的"Pull Data"按钮,将记录的性能数据导入到Profile Analyzer中。

在Profile Analyzer的曲线图中,你可以通过拖动选定要分析的范围。它提供了该范围内的进程、耗时以及记录点的概况。对于某个特定记录点,你还可以查看它在该范围内的耗时信息和出现的帧数等。

另外,Profile Analyzer还提供了"Compare"模式,让你可以对比两段性能数据,帮助进一步优化性能。

你可以分别通过 Pull Data 即时抓取两段性能数据,或是通过 Save按钮 准备好两份性能数据再通过 Load按钮 进来。这时 Profile Analyzer 提供的信息就带上了两段性能数据的对比。



 

posted @ 2023-01-17 23:57  bakabird1998  阅读(1964)  评论(0编辑  收藏  举报