系统分析概述

使用 Android GPU 检查器 (AGI),您可以执行系统分析,其中包括各种跟踪选项和 Android 应用的 GPU 性能测量。与 Android Studio 分析工具 相比,AGI 将许多这些功能组合到一个工具中,然后提供更深入的 GPU 覆盖范围和分析。可用的系统分析数据包括以下内容

  • 应用跟踪数据,包括 ATrace 标记
  • CPU 和进程调度数据
  • GPU 性能信息,例如计数器、活动和生命周期数据
  • Vulkan API 调用的跟踪数据
  • 内存使用统计信息
  • 电池使用统计信息

系统分析器是 AGI 组件,它管理跨多个应用帧的系统分析的 UI 和检测。它构建在 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 分析系统分析数据