在 Android GPU Inspector (AGI) 中,您可以在 System Profiler 界面中查看和分析 系统性能分析文件。 对系统进行性能分析并在AGI 中打开跟踪文件后,System Profiler 会在时间轴中显示性能分析数据,其中包含可展开的项,用于显示更多详细信息。
System Profiler 界面的主要元素包括:
性能分析数据
在跟踪文件中,性能分析数据存储在带时间戳的事件中,称为跟踪事件。跟踪事件由各种类型的切片和计数器组成。例如,CPU 跟踪事件包括调度切片,而 GPU 跟踪事件包括 GPU 性能计数器和线程切片。
在 System Profiler 界面中,轨道窗格包含跟踪事件,这些事件显示在基于时间轴的行中,称为轨道。 同一类型的轨道显示在轨道组中。
GPU 轨道
GPU 轨道用于显示 GPU 性能分析信息。以下是主要的 GPU 轨道类型:
GPU 队列轨道:应用的 GPU 活动。
GPU 计数器轨道:以固定时间间隔采样的 GPU 硬件计数器。
Vulkan 事件轨道:与 Vulkan API 相关的事件。
SurfaceFlinger 轨道:SurfaceFlinger 事件,用于指示图形 缓冲区在系统中的移动方式。
GPU 队列轨道
根据跟踪期间运行的硬件队列数量,GPU 可以有一个或多个 GPU 队列 轨道。GPU 队列 轨道包含活动切片,这些切片表示应用使用的 GPU 工作的时间段和类型。
活动切片包含您可以查看的元数据,例如启动工作的 Vulkan 命令缓冲区、渲染通道和帧缓冲区。这些对象的 Vulkan 句柄显示在详细信息 窗格中,如下所示:
VkCommandBufferVkRenderPassVkFrameBuffer
您可以使用简单易记的名称为这些对象命名,以便在跟踪记录中轻松识别
它们及其句柄,方法是使用
vkSetDebugUtilsObjectNameEXT
扩展中的函数,或使用
vkDebugMarkerSetObjectNameEXT
扩展中的函数。VK_EXT_debug_utilsVK_EXT_debug_markerAGI 会实现这两个扩展,并且在跟踪期间可供您的应用使用。
GPU 计数器轨道
GPU 计数器轨道以图形方式显示以固定时间间隔采样的 GPU 性能计数器的值。这些图表显示了样本之间 GPU 底层硬件组件的性能变化。您可以使用此信息来识别 GPU 使用情况中的瓶颈。
可用计数器特定于硬件。您可以将鼠标悬停在轨道名称上,以查看每个计数器的简要说明。如需了解详情,请参阅 GPU 性能计数器。
Vulkan 事件轨道
Vulkan 事件轨道显示在跟踪期间记录的 Vulkan API 事件。轨道事件类型主要是队列提交事件(vkQueueSubmit 调用)。如果您点击队列提交事件,AGI 会突出显示与该调用关联的 GPU 活动切片。您可以使用此数据来检查 Vulkan API 调用排队的异步工作以及 CPU 和 GPU 之间的延迟时间。
SurfaceFlinger 轨道
SurfaceFlinger 轨道显示 图形缓冲区(应用交换链渲染目标)在系统中 运行直至显示时的生命周期。这些事件按缓冲区聚合,以便更轻松地跟踪获取和发布缓冲区所需的开销和延迟时间。
与性能分析数据互动
本部分介绍如何在 System Profiler 界面中与 性能分析数据互动。
固定
您可以使用轨道和轨道组的固定按钮来固定轨道和轨道组。
合拢和展开
某些轨道和所有轨道组都是可合拢的。某些轨道组在合拢时会显示摘要。例如,CPU 轨道组在合拢时会在图表中显示整体 CPU 使用率。
缩放
AGI 会根据缩放级别聚合性能分析数据。首次打开跟踪文件时,System Profiler 界面会以最大缩小级别显示整个性能分析文件。您可以找到感兴趣的区域,然后查看详细信息,从而检查性能分析文件。
当您放大和缩小不同轨道类型时,它们会显示不同类型的性能分析数据。例如,CPU 轨道最初显示每个线程的时间切片,然后最终在放大时切换为显示 CPU 核心利用率数据。
查看详情
您可以通过在轨道窗格中选择项,在详细信息窗格中显示详细的元数据。如果某项是可选择的,将鼠标悬停在该项上会将光标更改为指针,然后您可以选择该项。
选择时间范围
您可以选择时间范围,以便比较不同轨道中的跟踪事件。为此,请启用计时 模式,然后拖动以选择范围。以外的所有内容都会变暗,并且会显示范围的持续时间。
您还可以按 M 来选择所选切片的时间范围。然后,您可以滚动浏览其他轨道,以识别同一时间段内的事件。
导航快捷键
您可以使用 WASD 键或通过滚动和平移来导航轨道窗格中的项。System Profiler 使用与 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+拖动以选择时间范围。