你说的这些我都懂,那些资料我也都看过,但是还是有些不透彻。
比如就拿Android来举例:
1. Gralloc用来分配现存映射到cpu进程中?那为啥最后不直接用GPU输出做显示了,而还要由CPU写道fb中做显示?
2. GPU可以分配很多Surface出来供绘画,难道自己不能做图层合并吗,还需要Flinger在外面合并?
【 在 z16166 的大作中提到: 】
: 楼上说得没错,fb就是约定好的一块内存,cpu写入这块内存的数据是直接被当作像素数据拿去输出到显示屏的。
: 通常这块内存是在gpu中,映射到cpu的某个进程中(比如安卓的SurfaceFlinger服务所在的system进程),使得这个进程可以直接写入像素数据。fb中可以存放一屏或者多屏的像素数据。
: fb主要是提供一种额外的显示途径,也就是你自己能完成全部的渲染计算,然后直接把渲染得到的像素数据复制到fb中输出到显示屏。
: ...................
--
FROM 124.202.185.*