使用Instrument调试界面卡顿

我的
【使用Instrument调试界面卡顿】我的,欢迎
前言
工欲善其事,必先利其器 。对于iOS开发来说,是发现并且解决问题的一把利器 。

使用Instrument调试界面卡顿

文章插图
本文会用到的两个工具包括:
本文使用的XCode 版本7.3.1,源代码是Swift 2.2写的
界面显示的原理
iOS设备通常是60fps(每秒60帧),也就是说两帧相隔的时间是1/60秒,大概16.7ms 。在这16.7ms中,为了显示一帧,需要如下工作
也就是说,CPU或者GPU被大量占用的时候,都有可能在16.7ms中没办法完成一帧的绘制,导致时钟信号到来的时候,取得还是上一帧的内容,也就都有可能导致界面卡顿
离屏渲染
在iOS中,渲染通常分为CPU和GPU渲染两种,而GPU渲染又分为在GPU缓冲区和非GPU缓冲区两种
通常,CPU渲染,和GPU非帧缓冲区内渲染统称为离屏渲染 。因为,CPU和帧缓冲区是为图形图像显示做了高度优化的,速度较快 。
什么情况下会触发离屏幕渲染?