通过 Android GPU Inspector (AGI),您可以执行系统分析,其中包含各种跟踪选项和针对您的 Android 应用的 GPU 性能测量。与 Android Studio 分析工具相比,AGI 将许多这些功能组合到一个工具中,然后提供更深入的 GPU 覆盖和分析。可用的系统分析数据包括以下内容:
- 应用跟踪数据,包括 ATrace 标记
- CPU 和进程调度数据
- GPU 性能信息,例如计数器、活动和生命周期数据
- Vulkan API 调用的跟踪数据
- 内存使用统计数据
- 电池使用统计数据
系统分析器是 AGI 的组件,用于管理多个应用帧上的系统分析的界面和仪器。它建立在 Perfetto 跟踪系统之上。有关用于分析单个应用帧的 AGI 组件的信息,请参阅帧分析器概览。
开始
AGI 快速入门介绍了如何设置 AGI、捕获系统配置文件,然后打开生成的跟踪文件。下一节将更详细地介绍配置选项。
分析选项
本节介绍了在您分析应用时可用的主要选项。
应用设置
“应用”设置用于在系统分析期间识别要运行和跟踪的 Android 应用。在系统分析期间选择要跟踪的 Android 应用是可选的,但建议这样做,因为否则生成的跟踪文件将不包含 ATrace 标记和应用的 GPU 活动。
跟踪选项
“跟踪选项”指定要收集的分析数据。“配置”按钮显示可用的数据源。
为了在分析系统时最大程度地减少对 Android 设备的性能影响,如果您将跟踪“时长”设置为超过一分钟,建议您选择更少的数据源。但是,对于一分钟以下的跟踪,您可以选择所有数据源,且影响最小。
CPU 选项
“CPU”选项通过 ftrace 启用 CPU 和进程调度数据的收集。这允许您查看每个 CPU 核心上正在运行的进程和线程。您还可以启用以下选项:
- 频率和空闲状态:收集 CPU 核心频率和空闲状态更改事件,这使您能够检查 CPU 如何根据负载进行扩展或缩小。
- 调度链/延迟:收集有关线程调度延迟和抢占的额外线程状态数据。
- 线程切片:在进程视图中收集 ATrace 标记。
GPU 选项
“GPU”选项可以分析应用的 GPU 使用情况,例如收集 GPU 频率和内存使用数据。要收集此数据,您必须在“应用”设置中指定要跟踪的应用。选项包括以下内容:
计数器:收集 GPU 计数器样本。此数据用于确定 GPU 的繁忙程度并找到瓶颈,因此我们建议您配置这些设置。
计数器是硬件特定的。例如,样本收集的最低频率(轮询速率)可能因计数器类型而异。有关支持的计数器的信息,请参阅GPU 性能计数器。
帧生命周期:跟踪 SufaceFlinger 事件,这有助于确定帧缓冲区如何通过您的应用、合成器和窗口管理器移动。这些事件允许您查找丢失的应用帧并识别渲染管道中的延迟来源。
渲染阶段切片:收集有助于确定您的应用如何使用 GPU 的数据。
Vulkan 选项
“Vulkan”选项启用 Vulkan API 调用的跟踪,然后可以按函数类型启用。您可以使用此数据来确定 Vulkan API 调用的 CPU 开销。跟踪记录每个函数调用的持续时间,当您在Vulkan 事件轨迹中分析数据时,此持续时间会显示在您应用的线程切片中。
其他选项
其他系统分析选项包括:
内存:收集重要的内存使用统计数据,包括全局和每个进程的统计数据。
电池:收集电池统计数据。这可以粗略估计您的应用的功耗。
强制将跟踪记录到设备上的文件:跟踪数据通常在捕获跟踪时通过 USB 流式传输,这具有最少的开销并允许进行长时间跟踪。但是,如果您遇到由于 USB 延迟导致的问题或丢失的分析数据,您可以选择此选项将跟踪文件保存到设备上,然后 AGI 会在跟踪结束后下载。这需要您的设备内部存储有足够的空间来存储跟踪文件。
高级模式
“切换到高级模式”链接会启动高级配置模式,允许您手动编辑存储分析选项的 Pefetto 跟踪配置。
查看和分析结果
当您打开包含系统分析数据的跟踪文件时,AGI 会在系统分析器 UI 中显示数据以供分析。有关查看数据的信息,请参阅查看系统配置文件。
以下主题介绍了如何使用 AGI 分析系统分析数据: