OpenGL/ES、Metal

NO.6 - 离屏渲染

2020-07-08  本文已影响0人  z夜流星

1.什么是离屏渲染

1.1渲染方式一:当前屏幕渲染

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


非离屏渲染

APP将要渲染的信息提交给CPU,CPU通过一定的处理后提交给GPU。GPU不停的将内容渲染完成放到帧缓冲区中(FrameBuffer),最后显示到屏幕上。

1.2渲染方式二:屏幕渲染

Off-Screen Rendering 离屏渲染: GPU在当前屏幕缓冲区以外新开辟一个缓冲区进行渲染操作


离屏渲染

GPU把渲染好的的内容存放到离屏渲染缓冲区中,在离屏渲染缓冲区(OffscreenBuffer)中进一步做一些处理后,再提交到帧缓冲区(FrameBuffer)中

总结来说就是:

下面通过一个简单案例说明:


实现一个毛玻璃效果

上图是实现一个毛玻璃效果,每次处理一个图层的层级都会先存到一个离屏缓冲区,等到所有层级都渲染完然后在交给帧缓存区组合,最后显示到屏幕上。

2.离屏渲染的检测

模拟器打开color offscreen-rendered,开启后会把那些触发离屏渲染的图层高亮成黄色


开启离屏渲染检测

3.离屏渲染的利弊

劣势
优势

4.离屏渲染的几种情况

上一篇下一篇

猜你喜欢

热点阅读