16ms
发出 VSync 信号触发 UI 渲染,代码必须保证在16ms
内绘制完毕60Hz
(人眼分辨的极限)大多数用户感知到的卡顿等性能问题的最主要根源都是因为渲染性能。Android系统每隔大概16.6ms
发出VSYNC
信号,触发对UI进行渲染,如果每次渲染都成功,这样就能够达到流畅的画面所需要的60fps
,为了能够实现60fps
,这意味着程序的大多数操作都必须在16ms
内完成。
我们通常都会提到
60fps
与16ms
,可是知道为何会是以程序是否达到60fps
来作为App性能的衡量标准吗?这是因为人眼与大脑之间的协作无法感知超过60fps
的画面更新。
12fps
大概类似手动快速翻动书籍的帧率,这明显是可以感知到不够顺滑的。24fps
使得人眼感知的是连续线性的运动,这其实是归功于运动模糊的效果。24fps
是电影胶圈通常使用的帧率,因为这个帧率已经足够支撑大部分电影画面需要表达的内容,同时能够最大的减少费用支出。但是低于30fps
是无法顺畅表现绚丽的画面内容的