Android性能测试之流畅度测试.docx
《Android性能测试之流畅度测试.docx》由会员分享,可在线阅读,更多相关《Android性能测试之流畅度测试.docx(20页珍藏版)》请在冰豆网上搜索。
Android性能测试之流畅度测试
Android性能测试之流畅度测试
宋
体;mso-ascii-font-family:
Calibri;
mso-ascii-theme-font:
minor-latin;mso-fareast-font-family:
宋体;mso-fareast-theme-font:
minor-fareast;mso-hansi-font-family:
Calibri;mso-hansi-theme-font:
minor-latin">流畅度测试简单的来说就是Android宋体;mso-ascii-font-family:
Calibri;mso-ascii-theme-font:
minor-latin;mso-fareast-font-family:
宋体;mso-fareast-theme-font:
minor-fareast;mso-hansi-font-family:
Calibri;mso-hansi-theme-font:
minor-latin">页面绘制。
Android宋体;mso-ascii-font-family:
Calibri;mso-ascii-theme-font:
minor-latin;mso-fareast-font-family:
宋体;mso-fareast-theme-font:
minor-fareast;mso-hansi-font-family:
Calibri;mso-hansi-theme-font:
minor-latin">系统每秒60hz,宋体;mso-ascii-font-family:
Calibri;
mso-ascii-theme-font:
minor-latin;mso-fareast-font-family:
宋体;mso-fareast-theme-font:
minor-fareast;mso-hansi-font-family:
Calibri;mso-hansi-theme-f
ont:
minor-latin">也就是大约每16ms宋体;mso-ascii-font-family:
Calibri;
mso-ascii-theme-font:
minor-latin;mso-fareast-font-family:
宋体;mso-fareast-theme-font:
minor-fareast;mso-hansi-font-family:
Calibri;mso-hansi-theme-font:
minor-latin">刷新一次界面。
但是在我们使用APP宋体;mso-ascii-font-family:
Calibri;
mso-ascii-theme-font:
minor-latin;mso-fareast-font-family:
宋体;mso-fareast-theme-font:
minor-fareast;mso-hansi-font-family:
Calibri;mso-hansi-theme-font:
minor-latin">过程中,经常会看到页面有卡顿,或者说丢帧的现象。
也就是说可能此刻两个页面绘制的时间差超过0.1S宋
体;mso-ascii-font-family:
Calibri;mso-ascii-theme-font:
minor-latin;mso-fareast-font-family:
宋体;mso-fareast-theme-font:
minor-fareast;mso-hansi-font-family:
Calibri;mso-hansi-theme-font:
minor-latin">〔人眼视觉残留O.ISvspanstyle="font-family:
宋体;mso-ascii-font-family:
Calibri;
mso-ascii-theme-font:
minor-latin;mso-fareast-font-family:
宋体;mso-fareast-theme-font:
ont:
minor-latin">〕。
总的来说,就是页面
宋体;mso-ascii-font-family:
Calibri;mso-ascii-theme-font:
minor-latin;mso-fareast-font-family:
宋体;mso-fareast-theme-font:
minor-fareast;mso-hansi-font-family:
Calibri;mso-hansi-theme-font:
minor-latin">原理分析
宋体;mso-ascii-font-family:
Calibri;mso-ascii-theme-font:
minor-latin;mso-fareast-font-family:
宋体;mso-fareast-theme-font:
minor-fareast;mso-hansi-font-family:
Calibri;mso-hansi-theme-font:
minor-latin">在确定衡量指标之前,先来说Android宋体;mso-ascii-font-family:
Calibri;mso-ascii-theme-font:
minor-latin;mso-fareast-font-famil
y:
宋体;mso-fareast-theme-font:
minor-fareast;mso-hansi-font-family:
Calibri;mso-hansi-theme-font:
minor-latin">的UI宋
体;mso-ascii-font-family:
Calibri;mso-ascii-theme-font:
minor-latin;mso-fareast-font-family:
宋体;mso-fareast-theme-font:
minor-fareast;mso-hansi-font-family:
Calibri;mso-hansi-theme-f
ont:
minor-latin">更新机制。
宋体;mso-ascii-font-family:
Calibri;mso-ascii-theme-font:
minor-latin;mso-fareast-font-family:
宋体;mso-fareast-theme-font:
minor-fareast;mso-hansi-font-family:
Calibri;mso-hansi-theme-font:
minor-latin">在Android宋体;mso-ascii-font-family:
Calibri;mso-ascii-theme-font:
minor-latin;mso-fareast-font-family:
宋体;mso-fareast-theme-font:
minor-fareast;mso-hansi-font-family:
Calibri;mso-hansi-theme-font:
minor-latin">版本更新过程中,发现在JellyBean宋体;mso-ascii-font-family:
Calibri;mso-ascii-theme-font:
minor-latin;mso-fareast-font-family:
宋体;mso-fareast-theme-font:
minor-fareast;mso-hansi-font-family:
Calibri;mso-hansi-theme-font:
minor-latin">中Google宋体;mso-ascii-font-family:
Calibri;mso-ascii-theme-font:
minor-latin;mso-fareast-font-family:
宋体;mso-fareast-theme-font:
minor-fareast;mso-hansi-font-family:
Calibri;mso-hansi-theme-font:
minor-latin">参加了一个ProjectButter宋体;mso-ascii-font-family:
Calibri;mso-ascii-theme-font:
minor-latin;mso-fareast-font-family:
宋体;mso-fareast-theme-font:
minor-fareast;mso-hansi-font-family:
Calibri;mso-hansi-theme-font:
minor-latin">,用来解决严重影响Android宋体;mso-ascii-font-family:
Calibri;mso-ascii-theme-font:
minor-latin;mso-fareast-font-family:
宋体;mso-fareast-theme-font:
minor-fareast;mso-hansi-font-family:
Calibri;mso-hansi-theme-font:
minor-latin">口碑的问题之一“UI宋体;mso-ascii-font-family:
Calibri;mso-ascii-theme-font:
minor-latin;mso-fareast-font-family:
宋体;mso-fareast-theme-font:
minor-fareast;mso-hansi-font-family:
Calibri;mso-hansi-theme-font:
minor-latin">流畅性差〞的问题。
而ProjectButter宋体;mso-ascii-font-family:
Calibri;mso-ascii-theme-font:
minor-latin;mso-fareast-font-family:
宋体;mso-fareast-theme-font:
minor-fareast;mso-hansi-font-family:
Calibri;mso-hansi-theme-font:
minor-latin">中主要引入了三个核心元素:
VSYNC(宋体;mso-ascii-font-family:
Calibri;mso-ascii-theme-font:
minor-latin;mso-fareast-font-family:
宋体;mso-fareast-theme-font:
minor-fareast;mso-hansi-font-family:
Calibri;mso-hansi-theme-font:
minor-latin">垂直同步)宋体;mso-ascii-font-family:
Calibri;
mso-ascii-theme-font:
minor-latin;mso-fareast-font-family:
宋体;mso-fareast-theme-font:
minor-fareast;mso-hansi-font-family:
Calibri;mso-hansi-theme-font:
minor-latin">、TripleBuffer宋体;mso-ascii-font-family:
Calibri;mso-ascii-theme-font:
minor-latin;mso-fareast-font-family:
宋体;mso-fareast-theme-font:
minor-fareast;mso-hansi-font-family:
Calibri;mso-hansi-theme-font:
minor-latin">和Choreographer宋体;mso-ascii-font-family:
Calibri;mso-ascii-theme-font:
minor-latin;mso-fareast-font-family:
宋体;mso-fareast-theme-font:
minor-fareast;mso-hansi-font-family:
Calibri;mso-hansi-theme-font:
minor-latin">。
VSync宋体;mso-ascii-font-family:
Calibri;mso-ascii-theme-font:
minor-latin;mso-fareast-font-family:
宋
体;mso-fareast-theme-font:
minor-fareast;mso-hansi-font-family:
Calibri;
mso-hansi-theme-font:
minor-latin">是VerticalSynchronization(宋体;mso-ascii-font-family:
Calibri;
mso-ascii-theme-font:
minor-latin;mso-fareast-font-family:
宋
体;mso-fareast-theme-font:
minor-fareast;mso-hansi-font-family:
Calibri;mso-hansi-theme-font:
minor-latin">垂直同步)宋体;mso-ascii-font-family:
Calibri;
mso-ascii-theme-font:
minor-latin;mso-fareast-font-family:
宋
体;mso-fareast-theme-font:
minor-fareast;mso-hansi-font-family:
Calibri;mso-hansi-theme-font:
minor-latin">的缩写,是一种在PC宋体;mso-ascii-font-family:
Calibri;
mso-ascii-theme-font:
minor-latin;mso-fareast-font-family:
宋
体;mso-fareast-theme-font:
minor-fareast;mso-hansi-font-family:
Calibri;mso-hansi-theme-font:
minor-latin">上很早就广泛使用的技术,可以简单的把它认为是一种定时中断。
而在Android4.1(JB)宋体;mso-ascii-font-family:
Calibri;mso-ascii-theme-font:
minor-latin;mso-fareast-font-family:
宋体;mso-fareast-theme-font:
minor-fareast;mso-hansi-font-family:
Calibri;mso-hansi-theme-font:
minor-latin">中已经开始引入VSync宋体;mso-ascii-font-family:
Calibri;mso-ascii-theme-font:
minor-latin;mso-fareast-font-family:
宋体;mso-fareast-theme-font:
minor-fareast;mso-hansi-font-family:
Calibri;mso-hansi-theme-f
ont:
minor-latin">机制。
CPU宋
体;mso-ascii-font-family:
Calibri;mso-ascii-theme-font:
minor-latin;mso-fareast-font-family:
宋体;mso-fareast-theme-font:
minor-fareast;mso-hansi-font-family:
Calibri;mso-hansi-theme-font:
minor-latin">和GPU宋体;mso-ascii-font-family:
Calibri;
mso-ascii-theme-font:
minor-latin;mso-fareast-font-family:
宋体;mso-fareast-theme-font:
minor-fareast;mso-hansi-font-family:
Calibri;mso-hansi-theme-font:
minor-latin">的处理时间都少于一个VSync宋体;mso-ascii-font-family:
Calibri;mso-ascii-theme-font:
minor-latin;mso-fareast-font-family:
宋体;mso-fareast-theme-font:
minor-fareast;mso-hansi-font-family:
Calibri;mso-hansi-theme-font:
minor-latin">的间隔,即16.6ms宋体;mso-ascii-font-family:
Calibri;mso-ascii-theme-font:
minor-latin;mso-fareast-font-family:
宋体;mso-fareast-theme-font:
minor-fareast;mso-hansi-font-family:
Calibri;mso-hansi-theme-font:
minor-latin">。
如果每个间隔都有绘制的情况下,当前的FPS宋
体;mso-ascii-font-family:
Calibri;mso-ascii-theme-font:
minor-latin;mso-fareast-font-family:
宋体;mso-fareast-theme-font:
minor-fareast;mso-hansi-font-family:
Calibri;mso-hansi-theme-font:
minor-latin">即为60宋体;mso-ascii-font-family:
Calibri;
mso-ascii-theme-font:
minor-latin;mso-fareast-font-family:
宋体;mso-fareast-theme-font:
minor-fareast;mso-hansi-font-family:
Calibri;mso-hansi-theme-font:
minor-latin">帧。
VSync宋体;mso-ascii-font-family:
Calibri;mso-ascii-theme-font:
minor-latin;mso-fareast-font-family:
宋
体;mso-fareast-theme-font:
minor-fareast;mso-hansi-font-family:
Calibri;
mso-hansi-theme-font:
minor-latin">机制就像是播放动画片
(60宋
体;mso-ascii-font-family:
Calibri;mso-ascii-theme-font:
minor-lat
in;
mso-fareast-font-family:
宋
体;mso-fareast-theme-font:
minor-fareast;mso-hansi-font-family:
Calibri;mso-hansi-theme-font:
minor-latin">帧/s)宋
体;mso-ascii-font-family:
Calibri;mso-ascii-theme-font:
minor-lat
in;
mso-fareast-font-family:
宋
体;mso-fareast-theme-font:
minor-fareast;mso-hansi-font-family:
Calibri;mso-hansi-theme-font:
minor-latin">。
每次都会播放画面,有的时候有人偷懒了,机器坏了,就会出现播放速度降低的状况。
我们把这个播放速度叫做流畅度。
宋体;mso-ascii-font-family:
Calibri;mso-ascii-theme-font:
minor-latin;mso-fareast-font-family:
宋体;mso-fareast-theme-font:
minor-fareast;mso-hansi-font-family:
Calibri;mso-hansi-theme-font:
minor-latin">从FPS&宋体;mso-ascii-font-family:
Calibri;mso-ascii-theme-font:
minor-latin;mso-fareast-font-family:
宋体;mso-fareast-theme-font:
minor-fareast;mso-hansi-font-family:
Calibri;mso-hansi-theme-font:
minor-latin">丢帧到流畅度