Definitions
Frame: In this case it is the surface of the screen or window. (Yes I know. In a normal world a frame is supposed to surround a window)
Buffer: A section of RAM reserved for temporary storage of data waiting to be directed to a device.
Quick/Dirty overview
The frame buffer is a "man in the middle" between the graphic operations and the video output. It can use the video cards own framebuffer memory or map directly to the CPU memory to manipulate graphics. The size of the assigned memory will determine the maximum resolution and colour depth.
It can be used to provide video modes that the video card does not natively support. For example, you might have a wide screen monitor but your current video card driver might lack the wide screen resolution. The framebuffer can be used to create a widescreen resolution using the video cards own memory and then pass it straight to the monitor.
It can be used to perform page flipping (a technique that is also called "double buffering" many games use this technique to give you a better, smoother experience). It can be offscreen or onscreen, so it can therefore be used by so called headless systems. It can be used to produce 3D imagery in real time using a graphic accelerator.
The framebuffer is used when you want the graphical boot screen. Turning off the framebuffer will most likely disable this feature.
The use of the framebuffer functionality is more or less optional since, in Xorg, many video card drivers communicate with the video card hardware directly in order to provide you with accelerated graphics, correct resolutions, etc.
FrameBuffer直译就是,帧缓冲。
帧Frame:你所看到的屏幕的图像,或者在一个窗口中的图像,就叫一帧。
缓冲Buffer:一段RAM,用来暂存图像数据,这些数据会被直接写入到显示设备。
帧缓冲就相当于介于 图形操作 和 图像输出中间的一个中间人。将程序对图形数据的处理操作,反馈到显示输出上。
显卡(显存中的数据) <-> 帧缓冲(程序对其中的数据进行处理) <-> 显示器(输出图像)
帧缓冲可用于,实现原先视频卡并不支持的分辨率。
显卡可能并不支持你当前某个更大分辨率的显示器,但是可以通过帧缓冲获取显卡的显存中的数据,处理之后,实现更大的分辨率的图像,然后将数据直接输出到显示器上。
帧缓冲可以用于 页面交换page flipping(也常叫做 双缓冲double buffering),许多游戏都是采用此技术,以实现更流畅的视频输出,以便用户获得更好的游戏体验。此技术也被用于3D图形加速。
Console programming HOWTO – 7. framebuffer
http://www.ummon.org/Linux/API/Devices/framebuffer.html
frame buffer device驱动程序
http://www.akae.cn/bbs/thread-52-1-1.html
Linux Framebuffer Driver Writing HOWTO
http://linuxconsole.sourceforge.net/fbdev/HOWTO/index.html
转载请注明:在路上 » Frame Buffer