美文网首页
iOS 离屏渲染

iOS 离屏渲染

作者: 七维树 | 来源:发表于2021-04-21 09:49 被阅读0次

原因

  • 在GPU渲染阶段无法确定具体的内容(形状/透明度等),所以需要离屏渲染以确定具体内容之后,在由GPU渲染展示
  • layer在渲染的时候采用的画家算法,一层一层叠加的,如果需要多层共同确定具体内容的情况,就需要额外的内存空间进行离屏渲染。
- a, b ,c ,d ,e  //渲染序列
- c = d + e //c 需要d和e渲染完成后,才能确定
- temp = d + e //临时开辟一块内存空间,存储d和e的渲染结果
- a, b ,temp //再把temp叠加到framebuffer中

离屏渲染常见的几种场景

  • cornerRadius 且 clipToBounds 后
需要在layer及其子layer都渲染完成后,在计算圆角需要剪裁的内容
  • 阴影未设置shadowPath
需要先渲染出layer后,才能确定阴影,所以需要额外保存渲染layer后的状态,在渲染阴影
  • mask 遮罩
同样需要渲染出layer和子layer后才能确定mask内容
  • group opacity
需要group内所有的layer渲染出来之后,在渲染做opacity透明度
  • effectBlur
需要底层内容和blur属性才能显示blur后的内容

一些解决办法

  • 圆角
用shapeLayer,直接用圆角矩形,或者绘制圆角弧形盖在视图上
图片等用coreGraphics提前剪裁出圆角/或者美术提供
  • shadow
用shadowPath确定形状
  • mask
使用layer mask并打开shouldRasterize来对渲染结果进行缓存
  • effectBlur
用CIFilter 的blur滤镜代替

相关文章

  • iOS离屏渲染

    iOS-离屏渲染详解关于iOS离屏渲染的深入研究关于离屏渲染这两片文章分析的很详细。 渲染过程 根据渲染流水线示意...

  • iOS离屏渲染解析

    iOS离屏渲染解析

  • iOS圆角的离屏渲染,你真的弄明白了吗

    iOS圆角的离屏渲染,你真的弄明白了吗iOS圆角的离屏渲染,你真的弄明白了吗

  • iOS-离屏渲染探索

    iOS项目性能优化时,不得不提到离屏渲染,为了提升性能,我们要求尽量减少离屏渲染的发生。 那,什么是离屏渲染?离屏...

  • iOS离屏渲染的检测和优化

    在iOS离屏渲染介绍了离屏渲染的逻辑和原理,我们知道离屏渲染对于性能会有较大的消耗,那么开发中怎么避免产生离屏渲染...

  • iOS离屏渲染相关值得看的博客

    博客链接 iOS离屏渲染优化 绘制像素到屏幕上 关于iOS离屏渲染的深入研究 https://texturegro...

  • 三、iOS离屏渲染

    iOS离屏渲染 圆角不一定会造成离屏渲染 GPU屏幕渲染方式 On-Screen Rendering 当前屏幕渲染...

  • iOS性能优化之图片圆角

    在Apple官方文档中多次提出开发时,避免触发离屏渲染效果.离屏渲染触发的情况有很多种,具体可参考iOS离屏渲染相...

  • 离屏渲染

    离屏渲染是在iOS开发过程中脱离不了的话题,那么什么是离屏渲染以及哪些情况会导致离屏渲染呢?以及离谱渲染有哪些优势...

  • iOS中的离屏渲染相关

    开场白 本文简单介绍了iOS中离屏渲染的相关内容呢。 1.什么是离屏渲染: 要了解离屏渲染,我们先简单了解一下非离...

网友评论

      本文标题:iOS 离屏渲染

      本文链接:https://www.haomeiwen.com/subject/pbdalltx.html