Android GPU 检查器快速入门

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

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

计算机要求

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

下载并安装 AGI

下载并安装适用于您的操作系统的 AGI。

Android 应用要求

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

  • 您的 Android 应用必须可调试;应用的 Android 清单中的可调试属性必须设置为 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 时,它会显示 Welcome 屏幕,提示您查找 adb 可执行文件的路径。AGI 会将这些设置保存在 HOME 文件夹的 .agic 文件中。如果您已执行此操作,可以跳过此步骤。

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

  4. 点击 Get Started 以显示启动屏幕。

    AGI 启动屏幕
    图 2:Android GPU 检查器主屏幕。
  5. 在启动屏幕中,点击 Capture a new trace。此时将显示 Capture A New Trace 对话框。或者,您也可以点击 Capture System Profile trace 按钮。

    “Capture A New Trace”对话框
    图 3:捕获新的跟踪记录对话框。
  6. Device and Type 部分中,选择要分析的 Android 设备。如果它未显示在设备列表中,请点击重新加载箭头以刷新列表。

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

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

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

      此时会显示 Select an Application to Trace 对话框,其中列出了在所选设备上可跟踪的应用。

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

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

      这会将您返回到 Capture A New Trace 对话框,其中 Application 字段会由您选择的应用填充。

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

  9. 点击 OK

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

对系统进行性能分析

如需对系统进行性能分析,请执行以下步骤:

  1. 在 AGI 启动屏幕中,点击 Capture a new trace,以显示 Capture System Profile 对话框。

  2. Type(类型)列表中,选择 System profile(系统配置文件)。

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

  4. 跟踪选项部分中,点击配置。系统会显示性能分析选项列表。

    “Capture Config”对话框
    图 4Capture System Profile 对话框中的性能剖析选项。
  5. 选择要捕获的性能剖析数据。

  6. GPU 部分中,点击选择

    系统随即会显示可供选择的计数器列表。

    计数器配置
    图 5 :选择计数器。
  7. 点击 default 以选择一组默认计数器,然后点击 OK 以返回性能分析选项。

  8. 点击 OK 以返回到 Capture System Profile 主对话框。

  9. Output 部分中,选择一个 Output Directory 来存储性能分析期间生成的跟踪文件。File Name 字段应该会自动填充,但您也可以对其进行修改。

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

  11. 点击 Start 按钮以开始捕获分析数据,然后等待几秒钟,以便该过程完成。

  12. 点击 Open Trace。显示的初始视图与 systrace 类似。

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

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

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

对框架进行分析

如需分析应用中的单个帧,请按以下步骤操作:

  1. 在 AGI 启动屏幕中,点击 Capture a new trace,以显示 Capture A New Trace 对话框。或者,您也可以点击 Capture Frame Profile trace 按钮。

  2. Type 列表中,选择 VulkanOpenGL on ANGLE,具体取决于应用使用的 Graphics API。请务必选择正确的命令,否则 AGI 将无法捕获任何图形命令。

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

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

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

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

  7. 点击 Start 按钮,然后等待几秒钟,以便分析完成。

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

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