查看系统分析

在 Android GPU 检查器 (AGI) 中,您可以在系统分析器 UI 中查看和分析 系统分析。在您分析系统并在 AGI 中 打开跟踪文件 后,系统分析器将在时间轴上显示 分析数据,其中包含可扩展的项目,这些项目显示其他详细信息。

系统分析器 UI 的主要元素包括以下内容

  • 工具栏

  • 时间轴:指示跟踪事件的时间跨度。

  • 跟踪 面板:相对于时间轴显示分析数据。

  • 详细信息 面板:一个可扩展的面板,显示有关所选项目的详细信息。

分析数据

在跟踪文件中,分析数据存储在称为跟踪事件的时间戳事件中。跟踪事件由各种类型的片段和计数器组成。例如,CPU 跟踪事件包括调度片段,而 GPU 跟踪事件包括 GPU 性能计数器和线程片段。

在系统分析器 UI 中,跟踪面板包含以称为跟踪的行显示的跟踪事件,这些跟踪基于时间轴。相同类型的跟踪显示在跟踪组中。

GPU 跟踪

GPU 跟踪显示 GPU 分析信息。这些是主要的 GPU 跟踪类型

  1. GPU 队列跟踪:应用程序的 GPU 活动。

  2. GPU 计数器跟踪:以定期间隔采样的 GPU 的硬件计数器。

  3. Vulkan 事件跟踪:与 Vulkan API 相关的事件。

  4. SurfaceFlinger 跟踪:SurfaceFlinger 事件,指示图形缓冲区如何在系统中移动。

GPU 队列跟踪

GPU 可以根据跟踪期间运行的硬件队列数量具有一条或多条 GPU 队列跟踪。GPU 队列跟踪包含表示应用程序使用的 GPU 工作的周期和类型的活动片段。

活动片段包含您可以查看的元数据,例如启动工作的 Vulkan 命令缓冲区、渲染通道和帧缓冲区。这些对象的 Vulkan 句柄在 详细信息 面板中显示如下

  • VkCommandBuffer
  • VkRenderPass
  • VkFrameBuffer

您可以使用 vkSetDebugUtilsObjectNameEXT 函数(来自 VK_EXT_debug_utils 扩展)或 vkDebugMarkerSetObjectNameEXT 函数(来自 VK_EXT_debug_marker 扩展)为这些对象提供用户友好的名称,以便您可以轻松地在跟踪中识别它们及其句柄。AGI 实施了这两个扩展,并在跟踪时可供您的应用程序使用。

GPU 计数器跟踪

GPU 计数器跟踪以定期间隔对 GPU 性能计数器的值进行绘图。图表显示样本之间 GPU 底层硬件组件性能的变化。您可以使用此信息来识别 GPU 使用中的瓶颈。

可用计数器是特定于硬件的。您可以通过将鼠标悬停在跟踪名称上查看每个计数器的简短描述。有关详细信息,请参阅 GPU 性能计数器

Vulkan 事件跟踪

Vulkan 事件跟踪显示在跟踪期间记录的 Vulkan API 事件。跟踪事件类型主要是队列提交事件(vkQueueSubmit 调用)。如果您单击队列提交事件,AGI 将突出显示与该调用关联的 GPU 活动片段。您可以使用这些数据检查 Vulkan API 调用排队的异步工作以及 CPU 和 GPU 之间的延迟。

SurfaceFlinger 跟踪

SurfaceFlinger 跟踪显示图形缓冲区(应用程序的交换链渲染目标)的生命周期,因为它们在系统中前进直到显示。事件按缓冲区聚合,以便更容易跟踪获取和发布缓冲区所需的开销和延迟。

与分析数据交互

本节介绍如何在系统分析器 UI 中与 分析数据 交互。

固定

您可以使用跟踪和跟踪组的固定按钮来固定它们。

折叠和展开

某些跟踪和所有跟踪组都是可折叠的。某些跟踪组在折叠时会显示摘要。例如,当折叠 CPU 跟踪组时,它会在图表中显示整体 CPU 使用率。

缩放

AGI 根据缩放级别聚合分析数据。当您第一次 打开跟踪文件 时,系统分析器 UI 会以最大缩小级别显示整个分析。您可以通过查找感兴趣的区域然后查看详细信息来检查分析。

当您在不同跟踪类型上放大和缩小时,它们会显示不同类型的分析数据。例如,CPU 跟踪最初显示每个线程的时间片段,然后在放大时最终切换到显示 CPU 内核利用率数据。

查看详细信息

您可以通过选择跟踪面板中的项目在详细信息面板中显示详细的元数据。如果某个项目可选择,则将鼠标悬停在其上会将光标更改为指针,然后您可以选择该项目。

选择时间范围

您可以选择时间范围,这使您可以比较来自不同跟踪的跟踪事件。为此,请启用“定时”模式,然后拖动以选择范围。范围之外的所有内容都将变暗,并且会显示范围的持续时间。

您还可以通过按 M 选择所选片段的时间范围。然后,您可以滚动浏览其他跟踪以识别来自同一时间段的事件。

您可以使用 WASD 键或通过滚动和平移来导航跟踪面板中的项目。系统分析器使用与 Systrace 相同的键盘和鼠标快捷键。可用的快捷键包括以下内容

  • WS,或 Ctrl++Ctrl+- 以进行缩放。
  • 使用 AD 键,或左右箭头键,可以左右平移视图。
  • 使用 QE 键,或上下箭头键,可以滚动轨道。
  • 按住 shift 键可以提高导航移动速度。
  • 使用 Ctrl + 滚轮可以缩放所选项目。
  • 使用 F 键可以缩放所选项目。
  • 使用 Z + 0 键可以重置并完全缩小。
  • 使用 V 键可以切换高亮显示 VSync(如果跟踪中可用)。
  • 使用 M 键可以标记当前选择,方法是选择其时间范围。
  • 使用 H? 键可以显示键盘和鼠标快捷键速查表。

工具栏包含用于在导航模式之间切换的按钮,这些按钮选择在轨道窗格中拖动项目时执行的操作。您还可以通过按下 1234 键来选择以下导航模式。

  1. 选择:拖动以框选项目。
  2. 平移:拖动以平移和滚动轨道。这是默认模式。
  3. 缩放:垂直拖动以缩放项目。
  4. 定时:拖动以选择时间范围。

您还可以将导航模式与这些修饰键一起使用。

  • 使用 Shift+ 拖动以框选项目。
  • 使用 Space+ 拖动以平移和滚动。
  • 使用 Ctrl+ 滚轮进行缩放。
  • 使用 Ctrl+ 拖动以选择时间范围。