在讲Android渲染机制之前,我们需要补充一些图像相关知识。
1.背景–CPU和GPU(渲染原理)
在Android系统中,CPU在渲染方面主要承担测量、布局、记录、计算等操作,GPU则负责栅格化操作。
简单说,CPU的工作主要是将页面布局转为多边形或者纹理,然后传递给GPU进行栅格化,也就是放到像素点中变为相应的画面。
2.背景–fps
fps表示每秒帧数。也就是每一秒钟视频中的有效帧数,fps越高,那么视频会越流畅。
- 12fps 大约等于用手正常翻书的速度
- 24fps 大约为电影胶卷滚动的频率(人眼可以感知到的连续运动帧率)
- 30fps 比较流畅的视频内容
- 60fps Android手机屏幕的推荐帧率
下面讲讲为什么是60fps,因为Android系统内置16ms发出一个VSYNC信号(Vertical Synchronization垂直同步),VSYNC可以理解为系统强制CPU和GPU进行计算和渲染操作,下面两张图对比了使用VSYNC和不使用VSYNC的区别。