- 主题:GPU和Framebuffer设备到底是个什么关系?
最终显示的图像数据是不是flinger拷到fb里去的?
【 在 foliver 的大作中提到: 】
: flinger调用硬件设备的fb,而硬件设备的fb又是flinger调用gralloc搞定的。
--
FROM 222.131.247.*
硬件自己搞定。flinger只是管理。
【 在 wjhtingerx 的大作中提到: 】
: 最终显示的图像数据是不是flinger拷到fb里去的?
:
:
: ...................
--来自微水木3.5.11
--
FROM 140.206.195.*
我有点明白了,fb mmap了内存给fliger,然后用gpu之类的合并图层到这个内存,然后fb乒乓显示
【 在 foliver 的大作中提到: 】
: 硬件自己搞定。flinger只是管理。
--
FROM 222.131.247.*
是的
【 在 wjhtingerx 的大作中提到: 】
: 意思是GPU把图像数据运算后,最终还是要放到Framebuffer里去?是在哪里写的?
:
:
: ...................
--来自微水木3.5.11
--
FROM 101.82.236.*
gpu主要是要来渲染图片内容
一般界面可能有几层surface,比如home screen ,上面的通知栏是一个surface,中间的桌布是一个surface,下面的虚拟键是一个surface
gpu把内容渲染画在3快surface对应的gralloc buffer上面。
surfaceflinger和hwc在一起觉得三块buffer是要给display driver还是gpu叠图
如果display driver能叠,就是把三块buffer给display drv,display drv硬件会叠好直接送给lcd;
如果display drv不能叠,就推给gpu帮忙叠出一张到framebuffer里面,这个时候framebuffer才进来的,一般有三块framebuffer轮转。
都是在硬件里面完成渲染或叠图,cpu不如摸buffer或copy什么的事情,不然性能太差。
【 在 granis 的大作中提到: 】
: 是的
--
FROM 223.104.41.*
不排除特别的case,有的时候会强制用skia走cpu渲染出surface图层
【 在 MT99 的大作中提到: 】
: gpu主要是要来渲染图片内容
: 一般界面可能有几层surface,比如home screen ,上面的通知栏是一个surface,中间的桌布是一个surface,下面的虚拟键是一个surface
: gpu把内容渲染画在3快surface对应的gralloc buffer上面。
: ...................
--
FROM 223.104.41.*
其实是你不懂
【 在 wjhtingerx (ca6140) 的大作中提到: 】
: 算了,看来你也不懂
--
FROM 113.108.77.*
我本来就不懂啊,这难道还有疑问?
【 在 JulyClyde 的大作中提到: 】
: 其实是你不懂
:
--
FROM 124.202.185.*
这个说的很清楚了,谢谢。另外,为啥fb需要3块轮转?2块不就可以了吗?
【 在 MT99 的大作中提到: 】
: gpu主要是要来渲染图片内容
: 一般界面可能有几层surface,比如home screen ,上面的通知栏是一个surface,中间的桌布是一个surface,下面的虚拟键是一个surface
: gpu把内容渲染画在3快surface对应的gralloc buffer上面。
: ...................
--
FROM 124.202.185.*
还有,不是有很多窗体(不止3个)要叠加吗?这个是软件做的,还是硬件做的?
【 在 MT99 的大作中提到: 】
: gpu主要是要来渲染图片内容
: 一般界面可能有几层surface,比如home screen ,上面的通知栏是一个surface,中间的桌布是一个surface,下面的虚拟键是一个surface
: gpu把内容渲染画在3快surface对应的gralloc buffer上面。
: ...................
--
FROM 124.202.185.*