原址

在开发者选项中有个“ GPU呈现模式分析(Profile GPU rendering,选择在adb shell dumpsys gfxinfo中)”功能,在开启这个功能后,系统就会记录保留每个界面最后128帧图像绘制的相关时间信息。在开启这个功能后,重新启动APP,滑动页面然后执行adb命令

adb shell dumpsys gfxinfo com.xiaomi.shop

(我用的是小米max2手机测试的小米商城首页。)

主要 注意Profile data in ms:下面的数据(如下图)

Draw: 表示在Java中创建显示列表部分中,OnDraw()方法占用的时间。

Process:表示渲染引擎执行显示列表所花的时间,view越多,时间就越长

Execute:表示把一帧数据发送到屏幕上排版显示实际花费的时间。其实是实际显示帧数据的后台缓存区与前台缓冲区交换后并将前台缓冲区的内容显示到屏幕上的时间。

Draw + Process + Execute = 完整显示一帧 ,这个时间要小于16ms才能保证每秒60帧。

(吐槽:简书太烂了,粘贴数据全乱了,只能截图了。)

将上面的数据导入到excel表格中,生成堆积图,如下图:

堆积柱状图

图中可以清晰的看出在滑动时,只有少量的帧耗时超过16ms。基本达到了每秒60帧的要求。如果每帧耗时超过16ms,就要结合操作进行具体的优化了。

dumpsys gfxinfo packacges计算帧率相关推荐

  1. opengl计算帧率_或许是迄今为止第一篇讲解 fps 计算原理的文章吧

    前言 fps,是 frames per second 的简称,也就是我们常说的"帧率".在游戏领域中,fps 作为衡量游戏性能的基础指标,对于游戏开发和手机 vendor 厂商都是 ...

  2. 【使用opencv方法计算帧率fps】

    getTickCount() 返回从操作系统启动到目前为止所经过的记时周期数 也就是当前的Tick的数量. getTickFrequency() 返回CPU的频率. 计算耗时 t1 = getTick ...

  3. 冒号表达式在计算帧率中的作用

    函数传入的参数分别是采集和显示帧率,函数的用处就是计算出两个帧率通过改变参数值传出,Avg是Windows函数计算平均值,这里用来计算采集和显示的平均时间,分之一之后就是帧率. /********** ...

  4. 位深度/像素/分辨率/图像大小的计算/帧率/刷新率

    有关图像的基本名词解释: 位深度: 在记录数字图像的颜色时,计算机实际上是用每个像素需要的位深度来表示的.黑白二色的图像是数字图像中最简单的一种,它只有黑.白两种颜色,也就是说它的每个像素只有1位颜色 ...

  5. opengl计算帧率_unity如何计算帧率FPS

    在使用unity开发过程中,许多时候需要显示当前项目的帧率FPS,用于观察项目的流程度,那么如何计算FPS呢?请看下面代码演示: public class FPSShow:MonoBehaviour ...

  6. APP客户端性能专项测试手册

    APP客户端性能专项测试手册 一.前言 1.1文档目的 通过对本文档的学习,对APP客户端性能专项测试的理论知识,测试工具,测试方法,缺陷分析思路等能有一定程度的了解,并能快速投入到专项测试工作中去. ...

  7. 安卓帧率FPS计算原理

    FPS(帧率),即frames per second. 目前,帧率统计软件使用的信息来源主要有两个: 一个是基于dumpsys SurfaceFlinger --latency layer-name: ...

  8. 计算相机采集帧率C实现

    有关.h和.cpp文件(具体函数)见另一篇: 计算相机帧率 在回调函数中,下面的语句能够把帧数加一: //初始化参数,帧率加一pDlg->left.m_pCamsFps.IncreaseFram ...

  9. 帧率(FPS)计算的几种方法总结

    帧率(FPS, frame per second)计算是游戏编程中常见的一个话题,因为表现在画面刷新与视觉感官上,所以相对而言,帧率非常影响用户体验.这也是很多大型3D游戏所要提升的重要点,意味着你要 ...

最新文章

  1. 区块链热度不断,那么究竟是泡沫还是未来?
  2. 存储安全 系统的最后一道防线
  3. win7如何添加开机启动程序(开机就自动运行打开)
  4. python画图表用引用数据_如何在python pandas中对数据帧使用按引用传递
  5. Java时间和时间戳的相互转换
  6. 802.1X的wpa认证流程-------4-way handshake过程分析
  7. CHM文件显示目录无法显示内容的解决方案
  8. 学成在线--13.RabbitMQ工作模式
  9. Bootstrap 静止导航条
  10. Python3基础语法
  11. 跳转前暂停几秒js如何实现
  12. python中 是什么运算_“是”运算符在Python中做了什么?
  13. java ajax动态加载数据_java实现的highcharts与ajax结合动态实时获取数据更新图表
  14. 98K歌词用计算机按的数字是什么,98k谐音中文歌词
  15. 如何编辑修改PDF文字
  16. 自然语言处理基础 一 及 sklearn实现 分析词代码实现
  17. 史上最详细清样/校样(Proof)处理流程Hindawi
  18. 深信服ACssh登录
  19. SAP ADM100 学习笔记
  20. Springboot-软件授权License

热门文章

  1. 幽冥岛争霸 - 和女儿一起开发的游戏-单机版基本完成
  2. Hibernate学习(四)
  3. 浅谈Listener、Filter、Servlet初始化顺序
  4. 操纵浏览器的历史记录
  5. Matlab与Access数据库的连接
  6. JAVA 正则表达式4种常用的功能
  7. React Suite 组件库
  8. 计算机体系结构现状及发展论文,计算机体系结构的发展及技术问题探讨
  9. qualys java 误报_从拒绝到接受 解析漏洞管理的五个阶段
  10. python TCP通信,主从服务设计(通过json进行数据通信)