2.UI卡顿、掉帧原因

离屏渲染

  • On-Screen Rendering
    意为在屏渲染,指的是GPU的渲染操作是在当前用于显示的屏幕缓冲区中进行
  • Off-Screen Rendering
    意为离屏渲染,指的是GPU在当前屏幕缓冲区以外新开辟一个缓冲区进行渲染操作

何时会触发离屏渲染?

  • 圆角(当和maskToBounds一起使用时)
  • 图层蒙版
  • 阴影
  • 光栅化

为何要避免离屏渲染?

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

如何避免离屏渲染

  • 使用UIBezierPath或者CoreGraph来绘制圆角
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容