安卓帧率获取方法总结

1.adb shell dumpsys SurfaceFlinger --latency 命令

• SurfaceFlinger管理Android帧缓冲区
• 每一次命令有128行帧数据,第一行数据表示刷新的时间间隔,剩下127行是帧率数据
• 第一列表示应用程序绘制图像的时间点
• 第二列表示在软件将帧提交到硬件绘制之前的垂直同步时间
• 第三列表示绘制完成时间点
在这里插入图片描述

2.adb shell dumpsys gfxinfo <PAVKAGE_NAME> framestats命令(不能用于游戏获取帧率)

• 从应用生成的最近 120 个帧中输出带有纳秒时间戳的帧时间信息
• 每一行代表应用程序生成的一帧
• 支持安卓7.0以上系统
• 不是实时数据

在这里插入图片描述

3.Choreographer.FrameCallback接口

• Choreographer是一个接收Vsync垂直同步信号的组件
• Choreographer中实现FrameCallback接口,然后实现里边的doFrame方法
• 通过Choreographer.getInstance().postFrameCallback(new MyFPSFrameCallback())把自己的回调添加到Choreographer之中
• 下一个frame被渲染的时候就会回调自己的callback,执行定义的doFrame操作,这时候就可以获取到这一帧的开始渲染时间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值