Android帧率测试
SurfaceFlinger
SurfaceFlinger 是 Android 的一个服务,运行在 Android 的System 进程中,负责管理系统的帧缓冲区,绘制应用程序的UI。Android应用程序会请求SurfaceFlinger服务创建Surface,在上面绘制自己的UI,然后将这个已经绘制好了UI的Surface渲染到设备显示屏上去
清空缓存
$ adb shell dumpsys SurfaceFlinger --latency-clear
[void android::SurfaceFlinger::setMTKProperties(android::String8&)]
========================================================================
[AOSP part]
debug.sf.showupdates (mDebugRegion): 0
debug.sf.ddms (mDebugDDMS): 0
[MTK SF part]
debug.sf.busyswap (mBusySwap): 0
debug.sf.log_repaint (mLogRepaint): 0
debug.sf.log_buffer (mLogBuffer): 0
debug.sf.line_g3d (mLineG3D): 0
debug.sf.line_ss (mLineScreenShot): 0
debug.sf.dump_ss (mDumpScreenShot): 0
debug.sf.slowmotion (mDelayTime): 0
debug.sf.contbufsenable (mContBufsDump): 0
[MTK GUI part]
debug.bq.line: 0
debug.st.line: 0
[MTK HWC part]
debug.sf.line_ovl: 0
debug.sf.debug_oex: 0
========================================================================
获取可视窗口列表
$ adb shell dumpsys SurfaceFlinger --list
[void android::SurfaceFlinger::setMTKProperties(android::String8&)]
========================================================================
[AOSP part]
debug.sf.showupdates (mDebugRegion): 0
debug.sf.ddms (mDebugDDMS): 0
[MTK SF part]
debug.sf.busyswap (mBusySwap): 0
debug.sf.log_repaint (mLogRepaint): 0