帧性能分析概览

借助 Android GPU 检查器 (AGI),您可以分析 Android 应用的特定帧,并使用该帧对应用的 GPU 使用情况进行深入分析。与仅使用系统性能分析相比,此性能分析数据可让您更深入地了解应用的 GPU 使用情况。

要使用 AGI 进行帧性能分析,首先会收集轨迹和其他性能数据,然后测量并显示这些数据以进行分析。

可用的帧性能分析数据包括:

  • Vulkan API 调用

  • 帧缓冲区内容

  • 渲染的网格绘制调用

  • 命令的 RAM 和 GPU 内存值

  • 渲染事件的 GPU 性能数据

  • 流水线数据

  • 渲染状态数据

  • 纹理和着色器资源

开始使用

AGI 快速入门介绍了如何设置 AGI、捕获帧配置文件数据,然后打开生成的跟踪文件。下一部分将详细介绍配置选项。

性能分析选项

本部分介绍了拍摄帧配置文件时可用的主要选项。

Graphics API 选项

Graphics API 选项表示应用使用的图形 API。这些选项可在 Capture System Profile 对话框的 Type 列表中找到。 以下是可用的选项:

  • Vulkan:适用于直接使用 Vulkan API 的应用。
  • OpenGL on ANGLE:适用于使用 OpenGL ES 的应用。

AGI 会直接跟踪 Vulkan 命令。不过,如果您的应用使用 OpenGL ES,AGI 会使用自定义 ANGLE build 将命令转换为 Vulkan 命令,然后再跟踪应用。

其他参数

Additional Arguments 字段用于将额外的标志传递给 adb am start-activity 命令,该命令将发送到您的设备,以在分析期间启动应用。如需了解详情,请参阅 adb 命令

开始时间和时长选项

开始和时长部分,您可以指定 AGI 如何捕获要分析的帧。提供的选项如下:

  • 开始:AGI 会捕获从应用启动到第一个渲染帧结束的所有命令。

  • Manual:按跟踪对话框中的按钮即可手动捕获帧。

  • 时间:AGI 会在给定的秒数过后自动捕获一帧。

  • Frame:AGI 会自动拍摄指定的帧。

跟踪选项

跟踪选项部分包含用于配置跟踪标志的设置。可用的设置如下:

  • 停用缓冲:捕获数据时在设备上停用内存缓冲。此选项对于调试应用崩溃非常有用,因为它可以确保序列化到崩溃之前的所有跟踪数据。不过,在进行性能剖析时,这会略微增加 AGI 的开销。

  • 包含不受支持的扩展程序:包含设备上的 AGI 不支持的扩展程序。如果您的应用使用 AGI 不支持的扩展程序,您可能会在重放轨迹时遇到不希望出现的行为,包括轻微的错误或崩溃。浏览支持的扩展程序列表

  • 清除软件包数据:使用 pm clear adb 命令请求设备在启动前清除应用的用户数据。

输出设置

Output 部分包含跟踪文件存储设置,例如:

  • 指定用于存储跟踪文件的目录。

  • 修改为跟踪文件自动生成的文件名。

查看结果

当您打开包含帧性能分析数据的轨迹文件时,AGI 会在帧性能分析器界面中显示这些数据以进行分析。

帧性能分析器是一个 AGI 组件,用于管理用于分析单个帧的界面和插桩。帧性能分析器在以下界面元素中显示数据:

分析结果

以下主题介绍了如何使用 AGI 分析帧性能分析数据: