问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

3、离屏渲染原理

发布网友 发布时间:2023-05-25 10:37

我来回答

1个回答

热心网友 时间:2024-07-30 11:08

app -> 帧缓冲区(Frame Buffer ) ->Display
APP中的数据经过CPU计算和GPU渲染后,将结果存放在帧缓冲区,利用视频控制器从帧缓冲区中取出,并显示到屏幕上。

app ->离屏缓冲区(OffScreen Buffer)->(图层组合)->帧缓冲区(Frame Buffer )->Display
在图像显示过程中,图像一层一层从帧缓冲区读出,在完成显示后会将其从缓冲区中移除。但是图像往往不是做这么简单的显示,有时还需要对图像进行裁剪等操作。但这些已经从帧缓冲区中移除,再要对其进行操作肯定是无法实现的。所以,为了解决这一问题,添加了离屏缓冲区(offScreen Buffer),每一层图像先分别进行裁剪,存入离屏缓冲区中,然后再将处理好的结果进行合成放入帧缓冲区中。这一操作叫做离屏渲染。
当触发了离屏渲染之后,图像/图形的渲染流程变成了:app进⾏额外的渲染和合并-> offscreen Buffer(离屏缓冲区) 组合. -> FrameBuffer(帧缓冲区) -> 屏幕;特点:(离屏渲染-> 额外的存储空间/offscreen Buffer->FrameBuffer ) offscreenBuffer 空间大小-> 离屏缓冲区的空间最大为屏幕像素点2.5倍
由于离屏渲染中的离屏缓冲区,是额外开辟的一个存储空间,再进行数据转存,所以离屏渲染会影响性能问题

但是一些特殊效果还是要使用离屏渲染

1.按钮设置背景图片 开启clipsToBounds或者layer.masksToBounds 会触发离屏渲染

2.按钮不设置背景图片开启clipsToBounds或者layer.masksToBounds不会触发离屏渲染

4.UIImageView 只设置了图片,无背景色开启clipsToBounds或者layer.masksToBounds 不会触发离屏渲染

这里不得不提一下CALayer,它是由backgroundColor、contents、borderWidth&borderColor构成的

当我们设置了cornerRadius以及masksToBounds进行圆角+裁剪时,masksToBounds裁剪属性会应用到所有的图层上。
正常渲染流程是依次绘制,绘制完一个图层就可以丢弃了。但现在需要依次在 Offscreen Buffer中保存,等待圆角+裁剪处理,即引发了 离屏渲染 。

总结

当我们开启光栅化时,会将layer渲染成位图保存在缓存中,这样在下次使用时,就可以直接复用,提高效率。
光栅化使用建议:
3、离屏渲染原理

正常渲染流程是依次绘制,绘制完一个图层就可以丢弃了。但现在需要依次在 Offscreen Buffer中保存,等待圆角+裁剪处理,即引发了 离屏渲染 。总结 当我们开启光栅化时,会将layer渲染成位图保存在缓存中,这样在下次使用时,就可以直接复用,提高效率。光栅化使用建议:

离屏渲染,OpenGL的三种渲染方式

一. 离屏渲染触发的原理:APP在对图片进行渲染,合并的时候会触发离屏渲染,离屏渲染流程先把图层保存在帧缓冲区(offscreen Buffer)中,如果这个图层需要进行渲染.合并就会把图层存的数据通过顶点着色器.片元着色器,然后放在离屏缓冲区(offscreenBuffer)中,然后把其他的图层也是按照这种形式进行存储,然后...

离屏渲染 问题及原理

首先假设我们app每秒显示60帧,数据会存在于帧缓冲区Frame Buffer当中,然后屏幕不断从帧缓冲区中取数据去显示。与正常流程不同的是,当触发离屏渲染时,数据不会先放到帧缓冲区,而是会先放到离屏缓冲区offscreen Buffer(这个缓冲区是帧缓冲区之外额外开辟的缓冲区)。等到几个结果叠加之后,然后会到帧...

ios 图像显示原理及掉帧卡顿、离屏渲染的原因分析与优化

2.离屏渲染消耗性能的原因 3.何时会触发?4.检测离屏渲染 5.光栅化 光栅化简介:隐式创建一个位图,各种阴影遮罩等效果也会保存到位图中缓存起来,从而减少渲染的频度,把GPU的操作转到CPU上,生成位图缓存,直接读取调用。(注:对于经常变动的内容,不要开启光栅化,防止性能浪费,如Cell的复用)任何...

UI渲染及显示原理

1、离屏渲染(Off-Screen Rendering):就是GPU在当前屏幕以外开辟一个另外的缓冲区进行渲染操作。2、当前屏幕渲染(On-Screen Rendering):指的是GPU是在当前显示的屏幕缓冲区进行的渲染操作。3、CPU的离屏渲染:即非GPU渲染,如果重写了drawReact,并且使用Core Graphics技术进行了绘制操作,就涉及到了...

图像渲染原理

,所以就会出现 掉帧 现象。三缓冲区使用一个前置缓存和两个后置缓存。在着色完第一个后置缓冲区的数据后,立即开始处理第二个后置缓冲区。就是 A数据 显示到屏幕上,两个后置缓冲区会帮我们去渲染 B数据 和 C数据 。但是即便这样,也还是有可能出现掉帧的,不过其掉帧几率会比双缓冲区好很多。

2. 图像显示原理

3、图形生成:尽量避免离屏渲染,尽量采用异步绘制,尽量避免使用圆角、阴影、遮罩等属性。必要时用静态图片实现展示效果,也可尝试光栅化缓存复用属性。4、 比如视图层级十分复杂,那GPU需要合成每一个对应像素点的像素值,做大量的计算,这个合成过程也会变得复杂。减轻视图层级的复杂性,会减轻GPU合成视图...

图形渲染原理

双缓冲区的机制就是,GPU会预先渲染一帧数据放入一个缓冲区中,用于视频控制器的读取。当下一帧渲染完毕后,GPU 会直接把视屏控制器的指针指向第二个缓冲区。但是双缓冲区仍然会产生掉帧的问题。具体掉帧的原因可以参考我写的另一篇文章 【UIView的绘制原理及优化】 。在使用了双缓冲区和垂直同步信号...

Instrument调试界面卡顿

GPU限制—》视图的混合,比如一个界面十几层的视图叠加到一起,GPU不得不计算每个像素点要显示的像素;离屏渲染如视图的Mask,圆角,阴影。半透明,GPU不得不进行数学计算,如果是不透明的,cpu只需取上层的就可以了;浮点数像素 2. 界面显示的原理:iOS设备通常是60fps(每秒60帧),也就是说两帧...

UI卡顿和掉帧原因,及相关优化方案

原因知道了,就可以提出相应的优化方案了。可以从CPU和GPU做以下优化:CPU:1)对象创建、调整、销毁。2)预排版(布局计算、文本计算)。3)预渲染(文本等乙部绘制、图片解码等)。将以上3点操作放到子线程里做。GPU:1.纹理渲染 1)避免离屏渲染。2)依托于CPU的异步绘制机制来减轻GPU的压力。2....

3d渲染原理 渲染原理 产品渲染原理 vue渲染原理 图形渲染原理 vue渲染页面的原理 flutter渲染原理 浏览器渲染原理 浏览器渲染原理及流程
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
哪些狗好养 眉山到重庆顺丰快递多少 从四川寄信到重庆要多少天啊 四川眉山到重庆万州,哪种快递最便宜 四川眉山市洪雅县寄信到重庆市垫江县大概多少天能到? 关于韵达快递的 优速快递成都眉山到重庆需要多久的时间? 用烤箱烤红薯(用烤箱烤红薯的温度和时间) 海鲜酱油能完全替代生抽在烹饪中使用吗? ...钻戒,但是我的预算不多,想知道晶豆子的莫桑石戒指大家觉得怎么样... 关于离屏渲染 超市门口给小票盖章 韩剧《黑话律师》收视率持续上升,李钟硕现在是韩国最赚钱的演员吗?_百 ... 韩剧是什么 深度解析韩国电视剧的特点和魅力? 为什么韩剧质量这么高? 哪些原因使观众普遍认为韩剧的质量比国产剧高? 魔域里的瑶光怎么合成 盗墓笔记大将军和瑶光结局 瑶光是什么牌子的车 女生让我妈妈把我领回家是什么意思? 为啥手机在媒体服务器中cpu使用时间大于唤醒时间,在其他软件硬件里是反... ...软件的时间和cpu有关系吗?是不是安装时间越长cpu就越不行?_百度知... 合肥有什么思科培训 可不可以再将文艺复兴的实质缩写点 上电梯算是词语吗? 井邑的意思井邑的意思是什么 速锐无级变速器介绍 速锐平板电脑怎么连网啊 信阳灵山寺五一免门票吗 灵山寺玩一圈要多久 ip地址用完 职业伦理的意义 樱桃小丸子的图片有哪些?大神们帮帮忙 保护书籍的方法有什么 罗蒙洛索夫论述的三体是什么? 三体中的科学知识及原理 三体中有哪两种理论? 电子烟没震动了是不是雾化效果还好了了 婆媳吵架媳妇跳楼老公跟着跳是什么电视剧 婆婆和媳妇吵架然后就说了句我这血压蹭蹭往上长是哪一部电视剧里 淘宝周评2.17怎么计算的 玩物丧志的物指的是什么 一打开龙之谷就变这样变颜色了!怎么办!! 请问:龙之谷更新后背景画面闪烁不清是什么原因? 为什么龙之谷进去后只有图标没有背景图像? 在玩龙之谷的时候怎么才能显示桌面? 龙之谷怎么去边框窗口化啊?求指教,我win7 32位旗舰版1366*768,窗口化后... 龙之谷界面窗口化,但是最下面一部分被遮盖了. 开始都看不到了= =... 装了WIN7的系统以后,玩龙之谷画面拉近人物就模糊了,但背景依旧清晰... 小森生活猫咪选美怎么参加