- 主题:GPU和Framebuffer设备到底是个什么关系?
楼上说得没错,fb就是约定好的一块内存,cpu写入这块内存的数据是直接被当作像素数据拿去输出到显示屏的。
通常这块内存是在gpu中,映射到cpu的某个进程中(比如安卓的SurfaceFlinger服务所在的system进程),使得这个进程可以直接写入像素数据。fb中可以存放一屏或者多屏的像素数据。
fb主要是提供一种额外的显示途径,也就是你自己能完成全部的渲染计算,然后直接把渲染得到的像素数据复制到fb中输出到显示屏。
你也可以不自己渲染,而是调用GPU,在GPU内部进行渲染,然后输出到显示屏。
一些参考:
Android帧缓冲区(Frame Buffer)硬件抽象层(HAL)模块Gralloc的实现原理分析
https://www.kancloud.cn/alex_wsc/androids/473754
Linux的fb内核驱动与AMD gpu打交道的代码
https://github.com/torvalds/linux/blob/master/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c
自己读写linux/android的fb设备完成显示的例子
https://stackoverflow.com/questions/22909849/writing-to-framebuffer-directly-on-android
【 在 wjhtingerx 的大作中提到: 】
: 那意思是直接操作GPU就行,不用管fb?那为啥android还要用到fb做显示呢?
:
--
FROM 125.35.121.*
所以你的问题为什么不在顶楼就细化呢
【 在 wjhtingerx 的大作中提到: 】
: 你说的这些我都懂,那些资料我也都看过,但是还是有些不透彻。
: 比如就拿Android来举例:
: 1. Gralloc用来分配现存映射到cpu进程中?那为啥最后不直接用GPU输出做显示了,而还要由CPU写道fb中做显示?
: ...................
--
FROM 125.35.121.*
安卓的java和C代码在那里摆着,现成的
【 在 wjhtingerx 的大作中提到: 】
: 没彻底搞懂,不开心啊
:
: :
--
FROM 125.35.121.*
哈哈,我看有些人对于别人的回答,都没个谢字,横就更过分了
回答的人难道欠提问的人二百吊?
【 在 JulyClyde 的大作中提到: 】
: 关键是还很横啊
:
--
FROM 125.35.121.*
虽然你这帖子是直接回复JulyClyde的,不是直接回复我的
我还是觉得这种态度很可怕。回答问题的人难道不要动脑筋、不要去查资料、不要打字?
还得揣摩你这在顶楼三言两语寥寥数字的问题到底是个什么背景和意图。
奇怪的是本论坛居然没有拉黑功能
【 在 wjhtingerx 的大作中提到: 】
: 有货就说,没事少装。
: 回答问题就好好回答,装腔作势的一边去。你要觉得你那点货挺值钱,可以不说。但说了就说了,别以为别人就欠你的。
: 真有意思,论坛灌水还能灌出优越感来了。
: ...................
--
FROM 125.35.121.*
你提那么简单的问题,然后别人细化了,你说已经全都看过了,也都知道,就是尊重回答问题的人了?
我问你为什么不在一开始就细化问题,为什么你避而不答?
按你的逻辑,我是不是也可以说,要问就好好问,要不就闭嘴别问呢?
说个谢字,这是基本的做人礼貌,为什么你会觉得不必要呢?那只是你的做人方式,为什么要强加给别人,认为别人也不用说谢呢
说个谢字,就表明谁比谁高等 or 低等了?
我要说的也基本说完,不再回复你的帖子。
【 在 wjhtingerx 的大作中提到: 】
: 没啥可怕的,你觉得付出不值得不回答就是了,并没人逼你,你也可以去逼乎做有偿回复,可能你会觉得公平些。
: 我始终观点是,这种共享论坛,大家都是平等的,并不存在回答者比提问者更高等。你等级再高,再牛逼,回答问题吊儿郎当,不尊重提问者,照样可以怼。不爽就别回答,要回答就好好说。
: 我本也是这么践行的,我回答了问题,不觉得提问者就要心怀感恩,毕恭毕敬,谢天谢地,太虚。我回答问题不是因为提问者,而是我从论坛也无偿获得了很多答案,回馈论坛而已。
: ...................
--
修改:z16166 FROM 125.35.121.*
FROM 125.35.121.*