iOS-离屏渲染

2019-02-11  本文已影响0人  李永开

一.渲染的两种模式

二.何时触发离屏渲染

  1. cornerRadiusmasksToBounds同时作用
  2. 图层蒙版
  3. 阴影
  4. 光栅化

三. 为什么要避免离屏渲染

高级回答:离屏渲染是在GPU上产生的,会触发openGL的多通道渲染管线,造成了额外的开销.有可能会导致cpu+gpu>16.7ms内不能完成一帧的计算,会导致屏幕的卡顿或掉帧.
离屏渲染会开辟新的缓存区,会进行上下文的切换,增加GPU的渲染时间,有可能会导致屏幕卡顿.

四.如何避免离屏渲染

  1. 使用UIBezierPath或者CoreGraph来绘制圆角

五.tips

iOS9之后,对UIImage使用cornerRadiusmasksToBounds不会产生离屏渲染了.

上一篇下一篇

猜你喜欢

热点阅读