分析器 (Profiler) 窗口


附加到 Unity 播放器

要分析在其他设备上运行的游戏或在其他计算机上运行的播放器,可以将编辑器连接到该播放器。活动分析器 (Active Profiler) 下拉菜单会显示在本地网络上运行的所有播放器。 这些播放器根据播放器类型和运行播放器 “iPhonePlayer (Toms iPhone)” 的主机名进行标识。 要连接到播放器,该播放器启动时要选定构建设置 (Build Settings) 对话框中的开发构建 (Development Build) 复选框。也可以在此勾选复选框,启动时使编辑器 (Editor) 和播放器自动连接 (Player Autoconnect)。

分析器控制

分析器控制位于窗口顶端的工具栏中。使用这些控制按钮可开启或关闭分析功能,导航至分析的帧等等。工具栏最右端为传输控制。注意,运行游戏和分析器收集数据时单击任一传输控制按钮会使游戏暂停。控制转到第一个记录的帧,前进至下一帧或后退至上一帧,直至到达最后一帧。分析器不会保留所有记录的帧,因而真正的第一帧应被视为内存中保留的时间最早的帧。“当前 (current)” 传输按钮使分析统计窗口显示实时收集的数据。活动分析器 (Active Profiler) 弹出菜单允许用户选择在编辑器还是单独的播放器中进行分析(比如在附加的 iOS 设备上运行的游戏)。

深度分析 (Deep Profiling)

开启深度分析 (Deep Profile) 时,将分析所有脚本代码,即记录所有函数调用。可用来了解游戏代码中所花的精确时间。

注意,深度分析 (Deep Profiling) 很耗性能,占用许多内存,所以分析时游戏运行的速度慢了很多。如果使用复杂的脚本代码,深度分析 (Deep Profiling) 可能完全不可行。脚本简单的小游戏进行深度分析会很快。如果发现对整个游戏进行深度分析 (Deep Profiling) 时帧速率变得太低,导致游戏几乎无法运行,应考虑不使用该方法,而是采用下述方法。设计游戏及描述如何最佳执行主要功能时您会发现深度分析的用处更大。注意,对大游戏进行深度分析可能导致 Unity 运行内存不足,所以深度分析可能不可取。

手动分析脚本代码块比深度分析 (Deep Profiling) 消耗的性能较少。请采用 Profiler.BeginSampleProfiler.EndSample 脚本函数来启用和禁用代码块分析。

查看同步时间 (View SyncTime)

以固定帧速率运行或与垂直空白同步运行时,Unity 会在“等待目标 FPS (Wait For Target FPS)” 中记录等待时间。该时间默认不在分析器中显示。要查看等待时间,可切换“查看同步时间 (View SyncTime)”。该步骤也可以用来衡量失去帧前有多少活动空间。

分析器时间线

分析器 (Profiler) 窗口的上部显示性能数据。运行游戏时,将记录每个帧的数据,显示前几百帧的历史记录。单击某个帧将在窗口下部显示细节。当前选择的时间线区域不同,显示的细节有所不同。

时间线的垂直比例尺采用自动管理,并尝试填充窗口的垂直空间。注意,若要获得 CPU 使用率 (CPU Usage) 区域等的更多细节,可删除内存 (Memory) 和渲染 (Rendering) 区域。时间线和统计区域间的区隔线也可进行选定,并向下拖动,以增加时间线图表使用的屏幕面积。

时间线包含几个部分:CPU 使用率 (CPU Usage)、渲染 (Rendering) 和内存 (Memory)。可单击面板上的关闭按钮移除这些区域,也可单击分析控制栏 (Profile Controls) 上的添加区域 (Add Area) 下拉列表来重新添加。

注意,标签区域的彩色方块控制是否显示关联的时间线。要从显示区中移除样例,可单击颜色项。颜色项变暗,数据将从图中移除。例如,在找出 CPU 图中出现峰值的原因时非常有用。

Page last updated: 2013-07-01