Android GPU 检查器快速入门

本主题介绍了如何使用 Android GPU 检查器 (AGI) 对 Android 应用执行系统性能分析帧性能分析

本快速入门指南面向熟悉 Android 图形开发的开发者。

电脑要求

运行 AGI 的计算机必须满足以下要求:

下载并安装 AGI

根据您的操作系统,下载并安装 AGI。

Android 应用要求

本部分介绍了被分析的 Android 应用的要求:

  • 您的 Android 应用必须可调试;应用 Android 清单中的 debuggable 属性必须设置为 true。此属性可实现来自图形驱动程序的正确插桩。对于 Vulkan 应用,此属性可让 AGI 在应用启动时添加自己的 Vulkan 层。

    <application [...] android:debuggable="true">
    

如果您的应用以原生方式使用 Vulkan,AGI 还要求:

  • 您的应用必须启用 Vulkan 验证层。如果未启用这些层,您可以运行以下命令,强制应用使用 AGI APK (com.google.android.gapid.<abi>) 中包含的验证层运行:

    app_package=<YOUR APP PACKAGE NAME HERE>
    abi=arm64v8a # Possible values: arm64v8a, armeabi-v7a, x86
    
    adb shell settings put global enable_gpu_debug_layers 1
    adb shell settings put global gpu_debug_app ${app_package}
    adb shell settings put global gpu_debug_layer_app com.google.android.gapid.${abi}
    adb shell settings put global gpu_debug_layers VK_LAYER_KHRONOS_validation
    

    完成分析后,您可以使用以下命令停用这些验证层:

    adb shell settings delete global enable_gpu_debug_layers
    adb shell settings delete global gpu_debug_app
    adb shell settings delete global gpu_debug_layers
    adb shell settings delete global gpu_debug_layer_app
    
  • 当应用在启用 Vulkan 验证层的情况下运行时,不得报告任何警告或错误。在进行分析之前,请先修正所有 Vulkan 验证错误。

  • 如果您使用的是 Beta 版 GPU 驱动程序,请在 Android 清单的 <application> 标记中添加以下元数据:

    <meta-data
              android:name="com.android.graphics.developerdriver.enable"
              android:value="true" />
    

Android 设备要求

AGI 有以下 Android 设备要求:

设备验证

AGI 需要兼容的 GPU 驱动程序。为确保 AGI 提供有效的分析数据,在您首次连接新设备时,它会运行验证检查,这大约需要 10 秒。通过检查后,您可以使用该设备来分析 Android 应用。

验证正在进行时,请勿干扰设备。这可能会导致设备验证失败。如果设备未通过验证,但已正确设置,您可以重新选择该设备来重试验证。

验证是设备的一次性步骤,结果会缓存起来,以供日后使用 AGI。不过,如果设备设置发生变化(例如 GPU 驱动程序或 Android 版本更新),AGI 会再次运行验证。

如果设备被列为支持的设备,则可以预期 AGI 会通过验证。如果设备未列出,则其 GPU 驱动程序很可能与 AGI 不兼容。

如果您的设备受支持,但验证失败

确保您已满足前几部分中介绍的所有 Android 要求计算机要求,并且设备已通过 USB 线缆正确连接到计算机。

如果满足所有要求,请在我们的 GitHub 代码库中提交问题,并说明相应行为。

如果您的设备不受支持

我们正在与 OEM 合作伙伴合作,以支持更多设备。您可以在我们的 GitHub 代码库中提交问题,请求支持特定设备。

捕获性能剖析数据

以下部分介绍了如何捕获分析数据,以及如何打开生成的跟踪文件以便分析结果。

配置 Android 设置

在开始分析之前,您必须配置以下 Android 应用和设备设置,以指定要分析的应用和设备。

  1. 使用 USB 线将 Android 设备连接到计算机。

  2. 在计算机上启动 AGI。

    首次启动 AGI 时,系统会显示欢迎界面,提示您输入 adb 可执行文件的路径。AGI 会将这些设置保存在 HOME 文件夹中的 .agic 文件中。如果您已完成此操作,则可以跳过此步骤。

    欢迎界面
    图 1:欢迎界面。
  3. adb 路径字段中输入 adb 可执行文件的路径。此字段后面的复选框是可选的。

  4. 点击开始使用以显示启动界面。

    AGI 启动画面
    图 2:Android GPU 检查器主启动界面。
  5. 在启动界面中,点击 Capture a new trace。系统随即会显示捕获新轨迹对话框。或者,您也可以点击 Capture System Profile trace 按钮。

    “捕获新轨迹”对话框
    图 3:捕获新轨迹对话框。
  6. 设备和类型部分中,选择要进行分析的 Android 设备。如果该设备未显示在设备列表中,请点击重新加载箭头以刷新列表。

  7. 应用部分中,选择要分析的应用。如果软件包中只有一个 activity,您可以选择软件包而不是 activity。

    AGI 包含一个示例 Vulkan 应用。如需使用该示例应用而非您自己的应用,请执行以下步骤:

    1. 点击应用字段旁边的 ... 按钮。

      这会显示选择要跟踪的应用对话框,其中会显示所选设备上可跟踪的应用的列表。

    2. 过滤条件文本框中,输入 gapid 以仅显示软件包名称中包含 gapid 的应用。

    3. 展开相应软件包,选择 com.google.android.gapid.VkSampleActivity,然后点击 OK

      这会返回到捕获新轨迹对话框,其中应用字段已填充您选择的应用。

  8. 应用部分,将其他字段留空。

  9. 点击确定

现在,您可以使用 AGI 执行系统和帧性能分析。

分析系统

如需对系统进行分析,请按以下步骤操作:

  1. 在 AGI 启动界面中,点击 Capture a new trace(捕获新跟踪记录)以显示 Capture System Profile(捕获系统配置文件)对话框。

  2. 类型列表中,选择系统配置文件

  3. 开始和时长部分中,将开始时间设置为手动,并将时长设置为 2

  4. Trace Options 部分中,点击 Configure。系统会显示一个性能分析选项列表。

    “捕获配置”对话框
    图 4捕获系统配置文件对话框中的性能剖析选项。
  5. 选择要捕获的分析数据。

  6. GPU 部分中,点击选择

    系统会显示一个计数器列表以供选择。

    计数器配置
    图 5: 选择计数器。
  7. 点击 default 以选择默认计数器集,然后点击确定以返回到性能剖析选项。

  8. 点击确定,返回主捕获系统配置文件对话框。

  9. 输出部分中,选择一个输出目录来存储在分析期间生成的跟踪文件。系统应会自动填充文件名字段,但您也可以修改该字段。

  10. 点击 OK。这会在 Android 设备上启动所选应用,并显示一个包含开始按钮的弹出式窗口。

  11. 点击开始按钮开始捕获性能分析数据,然后等待几秒钟,直到该进程完成。

  12. 点击打开轨迹。显示的初始视图与 systrace 类似。

    系统配置文件轨迹
    图 6: 系统分析器界面。

    除了 systrace 中提供的数据之外,AGI 还显示 GPU 性能信息。如需详细了解如何查看系统分析数据,请参阅查看 AGI 系统配置文件

如需了解其他设置,请参阅系统分析选项

分析帧

如需分析应用中的单个帧,请执行以下步骤:

  1. 在 AGI 启动界面中,点击 Capture a new trace(捕获新轨迹)以显示 Capture A New Trace(捕获新轨迹)对话框。或者,您也可以点击 Capture Frame Profile trace 按钮。

  2. 类型列表中,根据应用使用的图形 API 选择 VulkanANGLE 上的 OpenGL。请确保您选择的是正确的选项,否则 AGI 将不会捕获任何图形命令。

  3. 开始和持续时间部分中,将开始时间设置为手动。如果您点击了 Capture Frame Profile trace 按钮,则说明您已完成此步骤。

  4. 输出部分中,选择一个输出目录来存储轨迹文件。文件名字段应会自动填充,但您也可以对其进行修改。

  5. 可选:有些应用会生成一个不同的进程来完成所有图形处理。如需捕获该进程,请指定其名称。

  6. 点击 OK。这会在 Android 设备上启动您的应用,并显示一个包含开始按钮的弹出式窗口。

  7. 点击 Start 按钮,然后等待几秒钟,让性能剖析完成。

  8. 点击 Open Trace 即可查看分析数据。如需了解帧分析器界面中的每个窗格,请参阅帧分析概览

如需了解其他设置,请参阅帧分析选项