Content deleted Content added
No edit summary Tag: Reverted |
m grammar |
||
(14 intermediate revisions by 10 users not shown) | |||
Line 1:
{{short description|Portion of random-access memory containing a bitmap that drives a video display}}
{{
[[File:Sun sbus cgsix framebuffer.jpg|thumb|Sun TGX Framebuffer]]
A '''framebuffer''' ('''frame buffer''', or sometimes '''framestore''') is a portion of [[random-access memory]] (RAM)<ref>{{cite web|url=http://www.webopedia.com/TERM/F/frame_buffer.html|title=What is frame buffer? A Webopedia Definition|work=webopedia.com|date=June 1998 }}</ref> containing a [[bitmap]] that drives a video display. It is a [[
In [[computing]], a '''screen buffer''' is a part of [[computer memory]] used by a computer application for the representation of the content to be shown on the [[computer display]].<ref name="google">{{cite book|title=.NET Framework Solutions: In Search of the Lost Win32 API|author=Mueller, J.|date=2002|publisher=Wiley|isbn=9780782141344|url=https://books.google.com/books?id=XYQruTc6_44C|page=160|access-date=2015-04-21}}</ref> The screen buffer may also be called the '''video buffer''', the '''regeneration buffer''', or '''regen buffer''' for short.<ref name="smartcomputing">{{cite web|url=http://www.smartcomputing.com/editorial/dictionary/detail.asp?searchtype=2&DicID=10421&RefType=Dictionary&guid=|archive-url=https://web.archive.org/web/20120324192310/http://www.smartcomputing.com/editorial/dictionary/detail.asp?searchtype=2&DicID=10421&RefType=Dictionary&guid= |archive-date=2012-03-24 |url-status=dead|title=Smart Computing Dictionary Entry - video buffer|access-date=2015-04-21}}</ref> Screen buffers should be distinguished from [[video memory]]. To this end, the term '''off-screen buffer''' is also used.
The information in the buffer typically consists of color values for every pixel to be shown on the display. Color values are commonly stored in 1-bit [[binary image|binary]] (monochrome), 4-bit [[palette (computing)|palettized]], 8-bit palettized, 16-bit [[high color]] and 24-bit [[Color depth#True color .2824-bit.29|true color]] formats. An additional [[
== History ==
[[File:SWAC 003.jpg|thumb|Memory pattern on [[SWAC (computer)|SWAC]] Williams tube CRT in 1951]]
Computer researchers{{who|date=July 2017}} had long discussed the theoretical advantages of a framebuffer
A color
In the early 1970s, the development of [[MOS memory]] ([[metal–oxide–semiconductor]] memory) [[Integrated circuit|integrated-circuit]] chips, particularly [[large-scale integration|high-density]] [[DRAM]] (dynamic [[random-access memory]]) chips with at least 1{{nbsp}}[[kibibit|kb]] memory, made it practical to create, for the first time, a [[digital memory]] system with framebuffers capable of holding a standard video image.<ref name="Shoup_SuperPaint"/><ref>{{cite conference |last1=Goldwasser |first1=S.M. |title=Computer Architecture For Interactive Display Of Segmented Imagery |conference=Computer Architectures for Spatially Distributed Data |date=June 1983 |publisher=[[Springer Science & Business Media]] |isbn=9783642821509 |pages=
In 1974, [[Evans & Sutherland]] released the first commercial framebuffer, the Picture System,<ref>{{citation |title=Picture System |url=http://s3data.computerhistory.org/brochures/evanssutherland.3d.1974.102646288.pdf |publisher=Evans & Sutherland |access-date=2017-12-31}}</ref> costing about $15,000. It was capable of producing resolutions of up to 512 by 512 pixels in 8-bit [[grayscale]], and became a boon for graphics researchers who did not have the resources to build their own framebuffer. The [[New York Institute of Technology]] would later create the first 24-bit color system using three of the Evans & Sutherland framebuffers.<ref name="NYIT-History">{{cite web |url=https://www.cs.cmu.edu/~ph/nyit/masson/nyit.html |title=History of the New York Institute of Technology Graphics Lab |access-date=2007-08-31}}</ref> Each framebuffer was connected to an [[
In 1975, the UK company [[Quantel]] produced the first commercial full-color broadcast framebuffer, the Quantel DFS 3000. It was first used in TV coverage of the [[
The rapid improvement of integrated-circuit technology made it possible for many of the home computers of the late 1970s to contain low-color-depth framebuffers. Today, nearly all computers with graphical capabilities utilize a framebuffer for generating the video signal. [[Amiga]] computers, created in the 1980s, featured special design attention to graphics performance and included a unique [[Hold-And-Modify]] framebuffer capable of displaying 4096 colors.
Line 30:
Framebuffers used in personal and home computing often had sets of defined ''modes'' under which the framebuffer can operate. These modes reconfigure the hardware to output different resolutions, color depths, memory layouts and [[refresh rate]] timings.
In the world of [[Unix]] machines and operating systems, such conveniences were usually eschewed in favor of directly manipulating the hardware settings. This manipulation was far more flexible in that any resolution, color depth and refresh rate was attainable
An unfortunate side-effect of this method was that the [[display device]] could be driven beyond its capabilities. In some cases, this resulted in hardware damage to the display.<ref>http://tldp.org/HOWTO/XFree86-Video-Timings-HOWTO/overd.html XFree86 Video Timings HOWTO: Overdriving Your Monitor</ref> More commonly, it simply produced garbled and unusable output. Modern CRT monitors fix this problem through the introduction of protection circuitry. When the display mode is changed, the monitor attempts to obtain a signal lock on the new refresh frequency. If the monitor is unable to obtain a signal lock
LCD monitors tend to contain similar protection circuitry, but for different reasons. Since the LCD must digitally sample the display signal (thereby emulating an electron beam), any signal that is out of range cannot be physically displayed on the monitor.
== Color palette ==
Framebuffers have traditionally supported a wide variety of color modes. Due to the expense of memory, most early framebuffers used 1-bit (2
Here is a typical indexed 256-color image and its own palette (shown as a rectangle of swatches):
:{| style="border-style: none" border="0" cellpadding="0"
Line 49 ⟶ 48:
|}
In some designs it was also possible to write data to the lookup table (or switch between existing palettes) on the
== Memory access ==
Line 69 ⟶ 68:
== Page flipping ==
A frame buffer may be designed with enough memory to store two frames' worth of video data. In a technique known generally as [[double buffering]] or more specifically as [[page flipping]], the framebuffer uses half of its memory to display the current frame. While that memory is being displayed, the other half of memory is filled with data for the next frame. Once the secondary buffer is filled, the framebuffer is instructed to display the secondary buffer instead. The primary buffer becomes the secondary buffer, and the secondary buffer becomes the primary. This switch is often done after the [[vertical blanking interval]] to avoid [[screen tearing]] where half the old frame and half the new frame is shown together.
Page flipping has become a standard technique used by PC [[game programmer]]s.
Line 78 ⟶ 77:
As the demand for better graphics increased, hardware manufacturers created a way to decrease the amount of [[CPU]] time required to fill the framebuffer. This is commonly called ''graphics acceleration''. Common graphics drawing commands (many of them geometric) are sent to the graphics accelerator in their raw form. The accelerator then [[Rasterisation|rasterizes]] the results of the command to the framebuffer. This method frees the CPU to do other work.
Early accelerators focused on improving the performance of 2D [[
At one time there were many manufacturers of graphics accelerators, including: [[3dfx Interactive]]; [[ATI Technologies|ATI]]; [[Hercules Computer Technology|Hercules]]; [[Trident Microsystems|Trident]]; [[Nvidia]]; [[Radius (hardware company)|Radius]]; [[S3 Graphics]]; [[Silicon Integrated Systems|SiS]] and [[Silicon Graphics]]. {{as of|2015}} the market for graphics accelerators for x86-based systems is dominated by Nvidia (acquired 3dfx in 2002), [[AMD]] (who acquired ATI in 2006), and [[Intel]].
==Comparisons==
With a framebuffer, the electron beam (if the display technology uses one) is commanded to perform a [[raster scan]], the way a [[television]] renders a broadcast signal. The color information for each point thus displayed on the screen is pulled directly from the framebuffer during the scan, creating a set of discrete picture elements, i.e., pixels.
Framebuffers differ significantly from the [[vector display]]s that were common prior to the advent of raster graphics (and, consequently, to the concept of a framebuffer). With a vector display, only the [[vertex (geometry)|vertices]] of the graphics primitives are stored. The [[
Likewise, framebuffers differ from the technology used in early [[text mode]] displays, where a buffer holds codes for characters, not individual pixels. The video display device performs the same raster scan as with a framebuffer
== See also ==
Line 95 ⟶ 94:
*[[Tile-based video game]]
*[[Tiled rendering]]
*[[Tektronix 4050]] used a [[storage tube]] to eliminate the need for framebuffer memory
== References ==
|