帧性能分析概览

借助 Android GPU Inspector (AGI),您可以分析 Android 应用的特定帧,并利用它对应用的 GPU 使用情况执行深入分析。与单独使用系统性能分析相比,这种性能分析数据可以帮助您更深入地了解应用的 GPU 使用情况。

使用 AGI 进行帧性能分析首先会收集跟踪数据和其他性能数据,然后对其进行测量和显示以供分析。

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

  • Vulkan API 调用

  • 帧缓冲区内容

  • 渲染网格绘制调用

  • 命令的 RAM 和 GPU 内存值

  • 渲染事件的 GPU 性能数据

  • 流水线数据

  • 渲染状态数据

  • 纹理和着色器资源

开始

AGI 快速入门介绍了如何设置 AGI、捕获帧性能分析数据以及打开生成的跟踪文件。下一部分将更详细地介绍配置选项。

性能分析选项

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

图形 API 选项

“图形 API 选项”指示应用使用的图形 API。这些选项位于“捕获系统配置文件”对话框的类型列表中。可用的选项如下:

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

AGI 直接跟踪 Vulkan 命令。但是,如果您的应用使用 OpenGL ES,AGI 会使用自定义的 ANGLE 构建,在跟踪应用之前将命令转换为 Vulkan 命令。

额外参数

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

开始和持续时间选项

开始和持续时间部分,您可以指定 AGI 如何捕获要分析的帧。以下选项可用:

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

  • 手动:按下跟踪对话框中的按钮以手动捕获帧。

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

  • :AGI 会自动捕获指定的帧。

跟踪选项

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

  • 停用缓冲:在设备上捕获数据时停用内存缓冲。此选项在调试应用崩溃时很有用,因为它可以确保所有跟踪数据都在崩溃前进行序列化。但是,它会略微增加 AGI 在性能分析期间的开销。

  • 包含不支持的扩展程序:包含设备上 AGI 不支持的扩展程序。如果您的应用使用 AGI 不支持的扩展程序,您在重放跟踪时可能会遇到不必要的行为,包括细微的错误或崩溃。浏览支持的扩展程序列表

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

输出设置

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

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

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

查看结果

当您打开包含帧性能分析数据的跟踪文件时,AGI 会在帧性能分析器 UI 中显示数据以供分析。

帧性能分析器是 AGI 组件,用于管理分析单个帧的 UI 和检测。帧性能分析器在以下 UI 元素中显示数据:

分析结果

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