跳转至

帧卡顿分析

分析帧渲染性能,检测导致可见卡顿的掉帧。

概述

当一帧的渲染时间超过 vsync 间隔(60fps 时为 16.67ms)时就会发生帧卡顿。perfetto-cli 将帧按严重程度分级并提供性能汇总。

命令

frame jank

检测卡顿帧并进行严重程度分级。

perfetto-cli -t trace.perfetto-trace -p com.example.app frame jank

严重程度分级:

等级 标准
SMOOTH < 1 倍阈值
JANK 1-2 倍阈值
BIG_JANK 2-4 倍阈值
HUGE_JANK > 4 倍阈值

选项:

选项 说明 默认值
--threshold <ms> 卡顿阈值(毫秒) 16

frame summary

帧性能汇总及整体评分。

perfetto-cli -t trace.perfetto-trace -p com.example.app frame summary

工作流程

  1. 运行 frame summary 获取快速性能概览
  2. 如果卡顿率较高,运行 frame jank 查看各个卡顿帧
  3. 利用卡顿帧的时间戳配合 cpu hotspots 定位主线程阻塞原因

提示

  • 针对不同刷新率调整 --threshold(如 120fps 屏幕用 8ms)
  • 使用 -f json 追踪帧性能指标的变化趋势
  • 结合 cpu hotspots 找到导致卡顿的具体切片