何为失帧

界面显示的原理

iOS设备通常是60fps(每秒60帧),也就是说两帧相隔的时间是1/60秒,大概16.7ms。在这16.7ms中,为了显示一帧,需要如下工作:

CPU计算好各个视图的位置,大小,对图片进行解码等,绘制成纹理交给GPU.
GPU对收到的纹理进行混合,顶点变换,渲染到帧缓冲区.
每16.7ms,一个时钟信号到达,帧缓冲区取出一帧,显示到屏幕.
也就是说,CPU或者GPU被大量占用的时候,都有可能在16.7ms中没办法完成一帧的绘制,导致时钟信号到来的时候,取得还是上一帧的内容,也就都有可能导致界面卡顿.
因为一直显示上一帧的内容, 手在滑动, 却困在原地, 就产生了卡顿的感觉.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容