美文网首页
离屏渲染

离屏渲染

作者: 杰小冷_4957 | 来源:发表于2024-03-18 09:25 被阅读0次

    学而时习之,不亦乐乎,大家好,我是张杰。今天来讲一下离屏渲染

    一/官方解释

    先讲一下app通常的渲染过程

    App 通过 CPU 和 GPU 的合作,不停地将内容渲染完成放入 Framebuffer 帧缓冲器中,而显示屏幕不断地从 Framebuffer 中获取内容,显示实时的内容。

    离屏渲染

    与普通情况下 GPU 直接将渲染好的内容放入 Framebuffer 中不同,需要先额外创建离屏渲染缓冲区 Offscreen Buffer,将提前渲染好的内容放入其中,等到合适的时机再将 Offscreen Buffer 中的内容进一步叠加、渲染,完成后将结果切换到 Framebuffer 中。

    二我的理解

    app在渲染过程中,如果遇到的是普通的展示,不带圆角,光影,透明色之类的,GPU正常渲染,比如一个普通的view。渲染完了显示在屏幕上,Framebuffer就丢掉了这个view,空出来继续装别的渲染内容。如果遇到不太寻常的展示内容,比如一个圆角按钮,正常创建iOS自带的按钮是边界清楚的,不动底层的ualayer,此时GPU正常渲染,正常显示。如果是圆角(也分代码怎么写,如果),此时先额外创建离屏渲染缓冲区 Offscreen Buffer,将提前渲染好的内容放入其中等到合适的时机再将 Offscreen Buffer 中的内容进一步叠加、渲染,完成后将结果切换到 Framebuffer 中。然后显示在屏幕上。

    缺点

    1、大量使用会导致app卡顿

    优点

    1、关于比较复杂的可复用的UI可以先渲染再拿来用。

    相关文章

      网友评论

          本文标题:离屏渲染

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