这里指的缓冲区跟系统所使用的双缓存区, 是一个概念。都是 FrameBuffer。
系统自己的双缓冲机制也是有性能开销的,但是这是不可避免的(总不能为了节省一点性能开销而不用双缓冲导致卡顿吧)。而离屏渲染也要进行缓冲区的切换,但是切换的缓冲区更多。例如要显示 10 个Mask图片,一共要切换20 次个缓冲区(每一张图片都要经历以下切换流程 -> mask 的缓冲区 -> 背景的缓冲区->输出缓冲区,切换列两次),所以这个性能开销比系统的双 buffer 要高很多。
每一帧切换一次 buffer 其实对性能没啥影响,现在的主流做法已经是 tripleBuffering(三缓冲区) 了。
iOS-离屏渲染详解README: 引言: 一款优秀的app,流畅很关键,用户使用60的fps的app,跟使用30的fps的app感受是完全不一样的.类似于 半糖 这种优秀的应用肯定花了大把精力...