首先我了解一下iOS图像显示的原理:
图像显示原理.png
如上图所示,CPU和GPU是通过总线连接起来的.CPU主要处理UI的布局和一些文本信息的计算以及整个绘制过程图片编解码最后提交位图等工作.而我们的GPU则是负责对位图进行渲染,最后将渲染好的位图放到帧缓冲区.
下面我们以打印Hello为例:
显示原理.png
首先CPU需要计算文本信息,通过drawRect方法绘制完成后交给OpenGL渲染最后展现出来
CPU的工作原理及相关操作:
cpu工作原理.png
GPU的原理及相关操作:
GPU工作原理.png
掉帧的本质:
掉帧.png
所谓的掉帧或者卡顿是因为刷新帧率小于16.7ms(人眼的接受帧率为1秒60帧位图是不会出现卡顿现象),那么就是说一秒内要完成至少60个位图绘制渲染.当CPU计算或者绘制时间较长,导致GPU渲染加上CPU计算时间超过16.7ms就会出现卡顿、掉帧现象
网友评论