到目前为止,据我所知,surfaceflinger 将表面提供给 APP 进行渲染,然后将所有表面合成到最终屏幕。(如有错误,请指出Thx)。
第一个问题:surfaceflinger 创建的表面是否是全局可用的,可以被所有进程使用。(表面的内存在GPU内存中吗?)
虽然我在谷歌上搜索,但无法在进程之间共享 openGL 上下文(这里我指的是 APP 进程和 surfaceflinger 进程)。我不确定表面使用的GPU内存是否如此?
如果我的第一个问题的答案是肯定的,那么当 APP 渲染到表面时,是否有任何 openGL 资源共享给 surfaceflinger?这些碎片,包括表面的记忆是如何工作的?