离屏渲染

2018-08-29  本文已影响0人  molar

什么是离屏渲染?

是在GPU当前缓冲区之外创建一个新的缓冲区进行渲染操作。

创建缓冲区,上下文在离屏缓冲区和当前缓冲区之间切换都需要耗费性能。

触发操作

1、UIButton圆角设置,UIImageView在使用png的情况下设置圆角不会触发,设置阴影操作也会触发。

2、layer一些属性的设置,如:layer.mask,layer.maskToBounds等。

3、所有的文本操作,如:UILabel,CoreText等。

4、使用CGContext的drowRect方法。

优化方法

常用设置会触发离屏渲染,创建新的缓冲区,上下文需要在新旧缓冲区之间切换,比较耗性能,

圆角优化:

1、用贝塞尔曲线绘制圆角

2、使用UIBezierPath和CAShapLayer

使用UIBezierPath和CAShapLayer不需要在view的drawRect方法中绘制,使用drowRect消耗的CPU性能较大。

CAShapLayer渲染直接在GPU中进行,相比较drawRect在CPU中

阴影优化

上一篇 下一篇

猜你喜欢

热点阅读