在 Android GPU 检查器 (AGI) 中,您可以在系统性能分析器界面中查看和分析系统配置文件。在您分析系统并在 AGI 中打开跟踪文件后,系统性能分析器会在时间轴上显示性能分析数据,以及可显示其他详细信息的可展开项。
系统性能分析器界面的主要元素包括:
分析数据
在跟踪文件中,性能剖析数据存储在带时间戳的事件(称为“跟踪事件”)中。跟踪事件由各种类型的切片和计数器组成。例如,CPU 跟踪事件包括调度切片,而 GPU 跟踪事件包括 GPU 性能计数器和线程切片。
在系统性能分析器界面中,“跟踪”窗格包含跟踪事件,这些事件显示在名为跟踪的行(基于时间轴)中。同一类型的轨道会显示在轨道组中。
GPU 轨道
GPU 跟踪会显示 GPU 性能分析信息。以下是主要的 GPU 轨道类型:
GPU 队列跟踪:应用的 GPU 活动。
GPU 计数器跟踪:GPU 的硬件计数器定期采样。
Vulkan 事件跟踪:Vulkan API 相关事件。
SurfaceFlinger 跟踪:SurfaceFlinger 事件,用于指示图形缓冲区如何在系统中移动。
GPU 队列轨道
根据在轨迹期间运行的硬件队列数量,GPU 可以有一个或多个 GPU 队列轨道。GPU 队列轨道包含 activity 切片,用于表示应用使用的 GPU 工作的时间段和类型。
activity 切片包含您可以查看的元数据,例如启动工作的 Vulkan 命令缓冲区、渲染通道和帧缓冲区。这些对象的 Vulkan 句柄显示在 details 窗格中,如下所示:
VkCommandBuffer
VkRenderPass
VkFrameBuffer
您可以为这些对象指定易记的名称,以便使用 VK_EXT_debug_utils
扩展中的 vkSetDebugUtilsObjectNameEXT
函数或 VK_EXT_debug_marker
扩展中的 vkDebugMarkerSetObjectNameEXT
函数,在轨迹中轻松识别它们及其句柄。这两个扩展均由 AGI 实现,在跟踪时可用于应用。
GPU 计数器跟踪
GPU 计数器跟踪记录以图表形式显示定期采样的 GPU 性能计数器的值。这些图表显示了不同样本的 GPU 底层硬件组件的性能变化。您可以使用此信息来确定 GPU 使用方面的瓶颈。
可用的计数器因硬件而异。您可以将鼠标悬停在轨道名称上,查看每个计数器的简要说明。如需了解详情,请参阅 GPU 性能计数器。
Vulkan 事件轨道
Vulkan 事件轨道会显示在跟踪记录期间记录的 Vulkan API 事件。跟踪事件类型主要是队列提交事件(vkQueueSubmit
调用)。如果您点击某个队列提交事件,AGI 会突出显示与调用关联的 GPU 活动切片。您可以使用此数据检查由 Vulkan API 调用排队的异步工作,以及 CPU 和 GPU 之间的延迟时间。
SurfaceFlinger 轨道
SurfaceFlinger 会在图形缓冲区(应用的交换链渲染目标)在整个系统中逐步显示之前显示它们的生命周期。事件按缓冲区进行汇总,以便更轻松地跟踪获取和发布缓冲区所需的开销和延迟时间。
与分析数据交互
本部分介绍如何在系统性能分析器界面中与性能剖析数据交互。
固定
您可以使用轨道和轨道组的固定按钮来固定轨道。
收起和展开
部分轨道和所有轨道组都是可以收起的。某些轨道组在收起时会显示摘要。例如,收起时,CPU 跟踪组会以图表形式显示总体 CPU 使用率。
缩放
AGI 会根据缩放级别汇总分析数据。当您首次打开跟踪文件时,系统性能分析器界面会以最大缩小级别显示整个配置文件。您可以查找感兴趣的区域,然后查看详细信息,以检查商家资料。
当您放大和缩小不同类型的轨道时,它们会显示不同类型的分析数据。例如,CPU 跟踪最初显示每个线程的时间片,然后最终在放大时显示 CPU 核心利用率数据。
查看详细信息
您可以通过选择跟踪窗格中的项,在“详细信息”窗格中显示详细的元数据。如果某项内容可供选择,将鼠标悬停在该项上会将光标更改为指针,然后您可以选择该项。
选择时间范围
您可以选择一个时间范围,以便比较来自不同轨道的跟踪事件。为此,请启用 Timing 模式,然后拖动以选择范围。超出该范围的所有内容都会变暗,并显示该范围的持续时间。
您还可以按 M
以选择选定切片的时间范围。然后,您可以滚动浏览其他轨道,以识别同一时间段内的事件。
导航快捷键
您可以使用 WASD
键或通过滚动和平移来浏览跟踪窗格中的项。系统性能分析器使用与 Systrace 相同的键盘和鼠标快捷键。可用的快捷键包括:
W
和S
,或Ctrl++
和Ctrl+-
可缩放。A
和D
,或left
和right
箭头左右平移视图。Q
和E
或up
和down
箭头可滚动轨道。- 按住
shift
可加快导航的移动速度。 Ctrl
+滚动即可缩放所选内容。F
可缩放所选内容。Z
+0
会重置并完全缩小。V
可开启/关闭 VSync(如果它在跟踪记录中可用)。M
通过选择时间范围来标记当前所选内容。H
或?
显示键盘和鼠标快捷键备忘单。
导航模式
工具栏中包含用于在导航模式之间切换的按钮,这些按钮用于选择在跟踪窗格中拖动项目时执行的操作。您还可以按 1
、2
、3
和 4
键选择以下导航模式:
- 选择范围:拖动即可勾选方框。
- 平移:拖动可平移和滚动轨道。这是默认模式。
- 缩放:垂直拖动即可缩放内容。
- 时间:拖动鼠标以选择时间范围。
您还可以通过以下辅助键使用导航模式:
Shift+
拖动即可选中所选内容。Space+
拖动即可平移和滚动。Ctrl+
滚动即可缩放。Ctrl+
拖动可选择时间范围。