离屏渲染

On-Screen Rendering 在屏渲染

意为当前屏幕渲染,指的是GPU的渲染操作是在当前用于显示的屏幕缓冲区中进行的

Off——Screen Rendering 离屏渲染

意为离屏渲染,指的是GPU在当前屏幕缓冲区外新开辟一个缓冲区进行渲染操作

当我们设置某一些UI视图的图层属性,指令为位于合成之前,不能直接显示的时候,那么就触发了离屏渲染。典型的比如说,我们设置视图的圆角属性,包括一些蒙层、阴影等等

什么场景触发?

  • 设置圆角。maskToBounds 同时设置
  • 图层蒙版
  • 阴影
  • 光栅化

为何要避免离屏渲染?

在触发离屏渲染的时候,会增加GPU的工作量,而增加GPU的工作量很可能会导致GPU和CPU的工作总耗时超出了16.7ms,即屏幕的FPS小于60,从而导致UI的掉帧或卡顿,所以要避免离屏渲染。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 相比于当前屏幕渲染,离屏渲染的代价是很高的,这也是iOS移动端优化的必要部分。 OpenGL中,GPU屏幕渲染有以...
    一个人在路上走下去阅读 8,931评论 0 74
  • 一、概述 OpenGL ES是一套多功能开放标准的用于嵌入系统的C-based的图形库,用于2D和3D数据的可视化...
    湾里有桃树阅读 533评论 0 0
  • 图像显示原理 图像显示的大概流程: 程序运行从内存中读取数据对图片进行解压得到像素数据,若GPU不支持图片的颜色格...
    foreverSun_122阅读 653评论 0 2
  • 中秋随笔 晚风习习,明亮的月亮在黑色的夜幕上犹如明珠般熠熠生辉,我在广场上默默的吃着月饼,周边是热闹的人群,在热闹...
    书眠阅读 172评论 0 0
  • 感谢自己,您、辛苦了。” 生活就是不断发现自己,以前是一个傻逼的过程。感谢自己在这繁华的都市,我们既然还能活着,奇...
    豆浆哥油条妹阅读 744评论 0 2