查看系统配置文件

在 Android GPU Inspector (AGI) 中,您可以在 System Profiler UI 中查看和分析系统配置文件。对系统进行性能分析并在 AGI 中打开跟踪文件后,System Profiler 会在时间轴中显示性能分析数据,并带有可展开的项目以显示更多详细信息。

System Profiler UI 的主要元素包括:

  • 工具栏

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

  • 轨道窗格:显示与时间轴相关的性能分析数据。

  • 详细信息窗格:一个可展开的窗格,显示有关所选项目的详细信息。

性能分析数据

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

在 System Profiler 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 轨道显示图形缓冲区(应用的交换链渲染目标)在系统中前进直至显示时的生命周期。事件按缓冲区聚合,以便更容易跟踪获取和发布缓冲区所需的开销和延迟。

与性能分析数据交互

本节介绍如何在 System Profiler UI 中与性能分析数据交互。

固定

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

折叠和展开

某些轨道和所有轨道组都是可折叠的。某些轨道组在折叠时会显示摘要。例如,折叠时,CPU 轨道组会在图中显示整体 CPU 使用情况。

缩放

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

当您对不同轨道类型进行放大和缩小时,它们会显示不同类型的性能分析数据。例如,CPU 轨道最初显示每个线程的时间切片,然后最终在放大时切换到显示 CPU 核心利用率数据。

查看详情

您可以通过选择轨道窗格中的项目,在详细信息窗格中显示详细的元数据。如果某个项目可选,将鼠标悬停在其上会使光标变为指针,然后您可以选择该项目。

选择时间范围

您可以选择一个时间范围,这允许您比较来自不同轨道的跟踪事件。为此,请启用计时模式,然后拖动以选择一个范围。该范围之外的所有内容都会变暗,并显示该范围的持续时间。

您还可以通过按 M 键选择所选切片的时间范围。然后,您可以滚动浏览其他轨道以识别同一时间段内的事件。

您可以使用 WASD 键或滚动和平移来导航轨道窗格中的项目。System Profiler 使用与 Systrace 相同的键盘和鼠标快捷键。可用的快捷键包括:

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

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

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

您还可以将导航模式与以下修饰键一起使用:

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