分析器(仅限专业版)

Unity 分析器 (Profiler) 可帮助优化游戏。它报告游戏各区域所花的时间。如报告渲染、制作动画或游戏逻辑所花的时间百分比。

可在编辑器 (Editor) 中开启分析 (Profiling) 功能并播放游戏,它将记录性能数据。之后,分析器 (Profiler) 窗口按时间线显示数据,便于查看帧或区域峰值(比其他帧或区域所花的时间多)。点击时间线上的任何位置,分析器 (Profiler) 窗口底部会显示所选帧的详细信息。

注意,分析时必须检测 (instrument) 代码。该检测对游戏性能的影响较小。一般这种消耗较小,不会影响游戏的帧速率。进行分析时,一般只考虑某些区域所花的时间比例(或百分比)。同样,要提高性能,须关注最耗时间的游戏部分。对比更改代码前后的分析结果,确定改善效果。有时,所做的提高性能的更改对帧速率产生负面影响,应想到会产生意料之外的代码优化结果。

另请参阅

iOS

采取下列步骤可启用 iOS 设备上的远程分析功能:

  1. 将 iOS 设备连接到 WiFi 网络(分析器使用本地/adhoc WiFi 网络将设备上的分析数据发送到 Unity 编辑器 (Editor) 上)。
  2. 在 Unity 的构建设置对话框中勾选“自动连接分析器 (Autoconnect Profiler)” 选项。
  3. 通过线缆将设备附加到 Mac 上,并在 Unity 编辑器 (Editor) 中单击“构建并运行 (Build & Run)”。
  4. 应用程序在设备上启动时,在 Unity 编辑器 (Editor) 中打开分析器窗口 (Window->Profiler)

如果启用防火墙,须确保端口 54998 至 55511 已在防火墙的出站规则中打开。Unity 使用这些端口进行远程分析。

注意:有时 Unity 编辑器 (Editor) 可能不会自动连接设备。此时可从分析器窗口 (Profiler Window) 的活动分析器 (Active Profiler) 下拉菜单中选择正确的设备。

Android

可通过两种路径在安卓(Android)设备中启用远程分析:WiFi 或 ADB

如果是 WiFi 分析,请执行下列步骤:

  1. 确保在安卓 (Android) 设备上禁用移动数据 (Mobile Data)。
  2. 将安卓 (Android) 设备连接到 WiFi 网络。
  3. 在 Unity 的构建设置对话框中勾选“自动连接分析器 (Autoconnect Profiler)” 选项。
  4. 通过线缆将设备附加到 Mac/PC 上,并在 Unity 编辑器 (Editor) 中单击“构建并运行 (Build & Run)”。
  5. 应用程序在设备上启动时,在 Unity 编辑器 (Editor) 中打开分析器窗口 (Window->Profiler)
  6. 如果 Unity 编辑器 (Editor) 自动连接设备失败,从分析器窗口 (Profiler Window) 的活动分析器 (Active Profiler) 下拉菜单中选择正确的设备。

注意:安卓(Android)设备和(运行 Unity 编辑器 (Editor) 的)主机必须在相同的子网中打开,以进行设备检测。

如果是 ADB 分析,请执行下列步骤:

  • 通过线缆将设备附加到 Mac/PC 上,并确保 ADB 识别设备(如在adb 设备 (adb devices) 列表中显示)。
  • 在 Unity 的构建设置对话框中勾选“开发构建 (Development Build)” 选项并单击“构建并运行 (Build & Run)”。
  • 应用程序在设备上启动时,在 Unity 编辑器 (Editor) 中打开分析器窗口 (Window->Profiler)
  • 从分析器窗口 (Profiler Window) 的活动分析器 (Active Profiler) 下拉菜单中选择 AndroidProfiler(ADB@127.0.0.1:54999)

注意:按“构建并运行 (Build & Run)” 时 Unity 编辑器会自动为应用程序创建一个 adb 通道。 如果想分析另一个应用程序或重新启动 adb 服务器,须手动设置该通道。手动设置时请打开终端窗口/CMD (Terminal window / CMD) 提示并输入

adb forward tcp:54999 localabstract:Unity-<insert bundle identifier here>

注意:下拉菜单中的项只有在选定目标为安卓(Android)时才可见。

如果启用防火墙,须确保端口 54998 至 55511 已在防火墙的出站规则中打开。Unity 使用这些端口进行远程分析。

Page last updated: 2013-07-01