- 主题:GPU和Framebuffer设备到底是个什么关系?
fb是给lcd用的,可以简单的认为fb就是lcd,fb中元素和lcd的像素一一对应。是最终图像内容。
fb位于内核空间,用户态程序无法访问,必须映射到本地用户空间才能使用,这就是gralloc的功能之一。
flinger只是逻辑模块, 所有支持用gpu的layer都由gpu完成合成,那些不能用gpu的则由hwc去合成。完成合成后送到fb。
应用程序不要直接去操作fb。
【 在 wjhtingerx 的大作中提到: 】
: 你说的这些我都懂,那些资料我也都看过,但是还是有些不透彻。
: 比如就拿Android来举例:
: 1. Gralloc用来分配现存映射到cpu进程中?那为啥最后不直接用GPU输出做显示了,而还要由CPU写道fb中做显示?
: ...................
--来自微水木3.5.11
--
FROM 140.206.195.*
flinger用
【 在 wjhtingerx 的大作中提到: 】
: 就是说,android里面实际根本没有用到fb这个设备?
:
:
: ...................
--来自微水木3.5.11
--
FROM 140.206.195.*
flinger调用硬件设备的fb,而硬件设备的fb又是flinger调用gralloc搞定的。
【 在 wjhtingerx 的大作中提到: 】
: 你刚才不是说合成都是gpu或专门硬件做,flinger只是逻辑设备吗?为啥还要用fb?
:
:
: ...................
--来自微水木3.5.11
--
FROM 140.206.195.*
硬件自己搞定。flinger只是管理。
【 在 wjhtingerx 的大作中提到: 】
: 最终显示的图像数据是不是flinger拷到fb里去的?
:
:
: ...................
--来自微水木3.5.11
--
FROM 140.206.195.*