All Topics  
Framebuffer

 
Framebuffer

   Email Print
   Bookmark   Link






 

Framebuffer



 
 
A framebuffer is a video output device that drives a video display from a memory buffer containing a complete frame of data. The information in the buffer typically consists of color values for every pixel
Pixel

In digital imaging, a pixel is the smallest item of information in an image. Pixels are normally arranged in a 2-dimensional grid, and are often represented using dots, squares, or rectangles....
 (point that can be displayed) on the screen. Color values are commonly stored in 1-bit monochrome
Monochrome

Monochrome comes from the Greek language ?????????? , meaning ?of one color?, which is a combination of ????? , meaning ?alone? or ?solitary?, and ????a , meaning ?color?....
, 4-bit palettized
Palette (computing)

In computer graphics, a palette is either a given, finite set of colors for the management of digital images , or a small on-screen graphical element for choosing from a limited set of choices, not necessarily colors ....
, 8-bit palettized, 16-bit highcolor and 24-bit truecolor
Truecolor

Truecolor is a method of representing and storing graphical image information in an RGB color space such that a very large number of colors, shades, and hues can be displayed in an image, such as in high quality photographic images or complex graphics....
 formats. An additional alpha channel is sometimes used to retain information about pixel transparency.






Discussion
Ask a question about 'Framebuffer'
Start a new discussion about 'Framebuffer'
Answer questions from other users
Full Discussion Forum



Encyclopedia


A framebuffer is a video output device that drives a video display from a memory buffer containing a complete frame of data. The information in the buffer typically consists of color values for every pixel
Pixel

In digital imaging, a pixel is the smallest item of information in an image. Pixels are normally arranged in a 2-dimensional grid, and are often represented using dots, squares, or rectangles....
 (point that can be displayed) on the screen. Color values are commonly stored in 1-bit monochrome
Monochrome

Monochrome comes from the Greek language ?????????? , meaning ?of one color?, which is a combination of ????? , meaning ?alone? or ?solitary?, and ????a , meaning ?color?....
, 4-bit palettized
Palette (computing)

In computer graphics, a palette is either a given, finite set of colors for the management of digital images , or a small on-screen graphical element for choosing from a limited set of choices, not necessarily colors ....
, 8-bit palettized, 16-bit highcolor and 24-bit truecolor
Truecolor

Truecolor is a method of representing and storing graphical image information in an RGB color space such that a very large number of colors, shades, and hues can be displayed in an image, such as in high quality photographic images or complex graphics....
 formats. An additional alpha channel is sometimes used to retain information about pixel transparency. The total amount of the memory required to drive the framebuffer depends on the resolution
Display resolution

The display resolution of a digital television or computer display typically refers to the number of distinct pixels in each dimension that can be displayed....
 of the output signal, and on the color depth
Color depth

Color depth or bit depth, is a computer graphics term describing the number of bits used to represent the color of a single pixel in a Raster graphicsped image or video frame buffer....
 and palette size.

Framebuffers differ significantly from the vector graphics
Vector graphics

Vector graphics is the use of geometrical Primitive s such as point s, line , curves, and shapes or polygon, which are all based upon mathematical equations, to represent s in computer graphics....
 displays
Display device

A display device is an output device for presentation of information for visual, tactile or Hearing_ reception, acquired, stored, or transmitted in various forms....
 that were common prior to the advent of the framebuffer. With a vector display, only the vertices
Vertex (geometry)

In geometry, a vertex is a special kind of point which describes the corners or intersections of geometric shapes. Vertices are commonly used in computer graphics to define the corners of surfaces in 3d models, where each such point is given as a vector....
 of the graphics primitives are stored. The electron beam of the output display is then commanded to move from vertex to vertex, tracing an analog line across the area between these points. With a framebuffer, the electron beam (if the display technology uses one) is commanded to trace a left-to-right, top-to-bottom path across the entire screen, the way a television
Television

Television is a widely used telecommunication mass-media for transmitting and receiving moving , either monochrome or color, usually accompanied by sound....
 renders a broadcast signal. At the same time, the color information for each point on the screen is pulled from the framebuffer, creating a set of discrete picture elements (pixel
Pixel

In digital imaging, a pixel is the smallest item of information in an image. Pixels are normally arranged in a 2-dimensional grid, and are often represented using dots, squares, or rectangles....
s).

History

Computer researchers had long discussed the theoretical advantages of a framebuffer, but were unable to produce a machine with sufficient memory. In 1969, Joan Miller of Bell Labs
Bell Labs

Bell Laboratories is the research organization of Alcatel-Lucent and previously of the American Telephone & Telegraph Company .Bell Laboratories has had its headquarters at Berkeley Heights, New Jersey, and it has research and development facilities throughout the world....
 experimented with the first known instance of a framebuffer. The device displayed an image with a color depth of three bits. However, it was not until the 1970s that advances in integrated-circuit memory made it practical to create the first framebuffer capable of holding a standard video image.

In 1972, Richard Shoup developed the SuperPaint
SuperPaint

SuperPaint was a pioneering graphics program and framebuffer computer system developed by Richard Shoup at Xerox PARC. The system was first conceptualized in late 1972 and produced its first stable image in April 1973....
 system at Xerox PARC
Xerox PARC

PARC , formerly Xerox PARC, is a research and development company in Palo Alto, California with a distinguished reputation for its contributions to information technology....
. This system had 311,040 bytes of memory and was capable of storing 640 by 480 pixels of data with 8 bits of color depth. The memory was scattered across 16 circuit boards, each loaded with multiple 2-kilobit shift register chips. While workable, this design required that the total framebuffer be implemented as a 307,200 byte shift register that shifted in synchronization with the television output signal. The primary drawback to this scheme was that memory was not random access. Rather, a given position could be accessed only when the desired scan-line and pixel time rolled around. This gave the system a maximum latency of 33 ms for writing to the framebuffer.

Shoup was also able to use the SuperPaint framebuffer to create an early digital video-capture system. By synchronizing the output signal to the input signal, Shoup was able to overwrite each pixel of data as it shifted in. Shoup also experimented with modifying the output signal using color tables. These color tables allowed the SuperPaint system to produce a wide variety of colors outside the range of the limited 8-bit data it contained. This scheme would later become commonplace in computer framebuffers.

In 1974 Evans & Sutherland
Evans & Sutherland

Evans & Sutherland is a computer firm involved in the computer graphics field. Their products are used primarily by the United States military and large industrial firms for training and simulation, and in digital projection environments like planetariums....
 released the first commercial framebuffer, costing about $15,000. It was capable of producing resolutions of up to 512 by 512 pixels in 8-bit grayscale
Grayscale

In photography and computing, a grayscale or greyscale digital image is an image in which the value of each pixel is a single sample , that is, it carries only intensity information....
 color, and became a boon
Boon

Places:* Boon Township, Warrick County, Indiana* Boon Township, Michigan* Boon Lake Township, MinnesotaPeople:*Clint Boon, musician and member of indie rock group the Inspiral Carpets...
 for graphics researchers who did not have the resources to build their own framebuffer. The New York Institute of Technology
New York Institute of Technology

The New York Institute of Technology is a private, co-educational college in New York in the USA. The college has three New York campuses, two on Long Island and one on the Upper West Side of Manhattan, as well as global locations....
 would later create the first 24-bit color system using three of the Evans & Sutherland framebuffers. Each framebuffer was connected to an RGB color output (one for red, one for green and one for blue), with a minicomputer
Minicomputer

A minicomputer is a class of multi-user computers that lies in the middle range of the computing spectrum, in between the largest multi-user systems and the smallest single-user systems ....
 controlling the three devices as one.

The rapid improvement of integrated-circuit technology made it possible for many of the home computers of the late 1970s (such as the Apple II) to contain low-color framebuffers. While initially derided for poor performance in comparison to the more sophisticated graphics devices used in computers like the Atari 400, framebuffers eventually became the standard for all personal computers. Today, nearly all computers with graphical capabilities utilize a framebuffer for generating the video signal.

Framebuffers also became popular in high-end workstations throughout the 1980s. SGI
Silicon Graphics

Silicon Graphics, Inc. is a company manufacturer high-performance computing solutions, including computer hardware and computer software. SGI was founded by James H....
, Sun Microsystems
Sun Microsystems

Sun Microsystems, Inc. is a multinational corporation vendor of computers, computer components, computer software, and information technology services, founded on February 24, 1982....
, HP
Hewlett-Packard

The Hewlett-Packard Company , commonly referred to as HP, is a technology corporation headquartered in Palo Alto, California, United States....
, DEC
Digital Equipment Corporation

Digital Equipment Corporation was a pioneering United States company in the computer industry. It is often referred to within the computing industry as DEC ....
 and IBM
IBM

International Business Machines Corporation, abbreviated IBM and nicknamed "Big Blue" , is a multinational corporation computer technology and consulting corporation headquartered in Armonk, New York, New York, United States....
 all released framebuffers for their computers. These framebuffers were usually of a much higher quality than could be found in most home computers, and were regularly used in television, printing, computer modeling and 3D graphics.

Amiga
Amiga

The Amiga is a family of personal computers originally developed by Amiga Corporation. Development on the Amiga began in 1982 with Jay Miner as the principal hardware designer....
 computers, due to their attitude in graphics, created in the eighties a vast market of framebuffer based graphic cards. Noteworthy to mention was the graphic card in Amiga A2500 Unix
Unix

Unix is a computer operating system originally developed in 1969 by a group of American Telephone & Telegraph employees at Bell Labs, including Ken Thompson , Dennis Ritchie, Douglas McIlroy, and Joe Ossanna....
, which was in 1991 the first computer to implement an X11 server as a server for hosting graphical environments and the Open Look
OPEN LOOK

OPEN LOOK is a graphical user interface specification for UNIX computer workstations. It was originally defined in the late 1980s by Sun Microsystems and AT&T....
 GUI
Gui

Gui or guee is a generic term to refer to grillinged dishes in Korean cuisine. These most commonly have meat or fish as their primary ingredient, but may in some cases also comprise grilled vegetables or other vegetarian ingredients....
 graphical interface in high resolution (1024x1024 or 1024x768 at 256 colors). The graphic card equipping A2500 Unix was called A2410 (Lowell TIGA Graphics Card) and was an 8-bit graphics board based on the Texas Instruments
Texas Instruments

Texas Instruments , better known in the electronics industry as TI, is an United States company based in Dallas, Texas, Texas, United States, renowned for developing and commercializing semiconductor and computer technology....
 TMS34010
TMS34010

The TMS34010 was the first programmable graphics processor integrated circuit . First silicon was working at Texas Instruments in Houston in December 1985, and first shipment was to IBM's workstation facility in Kingston, New York, in January 1986....
 clocked at 50 MHz. It was a complete intelligent graphics coprocessor. A2410 graphic card for Amiga was co-developed with Lowell University. Other noteworthy Amiga framebuffer based cards were the graphic card from GVP
Great Valley Products

Great Valley Products is a former third-party Amiga hardware supplier.The company was mostly known for CPU-Accelerators and SCSI-Hostadapters for the Commodore International Amiga 500 and the Amiga 2000 computer series....
, an interesting integrated video suite, capable of mixing 24-bit framebuffer, with Genlock
Genlock

Genlock is a common technique where the video output of one source, or a specific reference signal, is used to synchronization other television picture sources together....
, Chromakey, TV signal pass-thru and TV in a window capabilities, the a graphic card and video capture system, the 32-bit graphic card, the Harlequin card, the , external framebuffer, external graphic card it is still nowadays on the market.

Most known Atari ST
Atari ST

The Atari ST is a home computer/personal computer that was commercially available from 1985 to the early 1990s. It was released by Atari Corporation in 1985....
 (Mega STE model), and Atari TT framebuffers were created for the VME rear connector slot of Atari machines dedicated to video expansion cards: Leonardo 24-bit VME graphics adapter, CrazyDots II 24-bit VME graphics card, Spektrum TC graphics card, NOVA ET4000 VME SVGA graphic card (capable of resolutions up to 1024x768 at 256 colors or 800x600 at 32768) colors, which design came from the ISA
Industry Standard Architecture

Industry Standard Architecture was a computer bus standard for IBM compatible computers....
/PC
Personal computer

A personal computer is any general-purpose computer whose original sales price, size, and capabilities make it useful for individuals, and which is intended to be operated directly by an end user, with no intervening computer operator....
 world (practically it was an ATI Mach32 S: with 1 MB of video RAM).

Display modes

Framebuffers used in personal and home computing often had sets of defined "modes" under which the framebuffer could operate. These modes would automatically reconfigure the hardware to output different resolutions, color depths, memory layouts and refresh rate
Refresh rate

The refresh rate is the number of times in a second that display hardware draws the data it is being given. This is distinct from the measure of frame rate in that the refresh rate includes the repeated drawing of identical frames, while frame rate measures how a video source can feed an entire frame of new data to a display....
 timings.

In the world of Unix
Unix

Unix is a computer operating system originally developed in 1969 by a group of American Telephone & Telegraph employees at Bell Labs, including Ken Thompson , Dennis Ritchie, Douglas McIlroy, and Joe Ossanna....
 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 — limited only by the memory available to the framebuffer.

An unfortunate side-effect of this method was that the display device
Display device

A display device is an output device for presentation of information for visual, tactile or Hearing_ reception, acquired, stored, or transmitted in various forms....
 could be driven beyond its capabilities. In some cases this resulted in hardware damage to the display. Modern CRT monitors fix this problem through the introduction of "smart" 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, or if the signal is outside the range of its design limitations, the monitor will ignore the framebuffer signal and possibly present the user with an error message.

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.

Modern operating systems such as Linux
Linux

Linux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Their development is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed by anyone under the terms of the GNU GPL license...
 and Windows
Microsoft Windows

Microsoft Windows is a series of software operating systems and graphical user interfaces produced by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces ....
 do not usually bother with display modes and attempt to manipulate the hardware directly through device driver
Device driver

In computing, a device driver or software driver is a computer program allowing higher-level computer programs to interact with a hardware device....
s.

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 color), 2-bit (4 color), 4-bit (16 color) or 8-bit (256 color) color depths. The problem with such small color depths is that a full range of colors cannot be produced. The solution to this problem was to add a lookup table to the framebuffers. Each "color" stored in framebuffer memory would act as a color index. The color index was then checked against a lookup table to obtain the true color value. The color returned from the lookup table was then sent to the signal generator hardware.

Memory access

While framebuffers are commonly accessed via a memory mapping directly to the CPU memory space, this is not the only method by which they may be accessed. Framebuffers have varied widely in the methods used to access memory. Some of the most common are:
  • Mapping the entire framebuffer to a given memory range.
  • Port commands to set each pixel, range of pixels or palette entry.
  • Mapping a memory range smaller than the framebuffer memory, then bank switching
    Bank switching

    Bank switching was a technique common in 8-bit microcomputer systems, to increase the amount of addressable random-access memory and read-only memory without extending the address bus....
     as necessary.


The framebuffer organization may be chunky (packed pixel) or planar.

Virtual framebuffers

Many systems attempt to emulate the function of a framebuffer device, often for reasons of compatibility. The two most common "virtual" framebuffers are the Linux framebuffer
Linux framebuffer

The Linux framebuffer is a graphic hardware-independent abstraction layer to show computer graphics on a computer console without relying on system-specific libraries such as SVGALib or the heavy overhead of the X Window System....
 device (fbdev) and the X Virtual Framebuffer (Xvfb
Xvfb

In the X Window System, Xvfb or X virtual framebuffer is an X11 Server that performs all graphical operations in memory, not showing any screen output....
). The X Virtual Framebuffer was added to the X Windowing System distribution to provide a method for running X without a graphical framebuffer. While the original reasons for this are lost to history, it is often used on modern systems to support programs such as the Sun Microsystems
Sun Microsystems

Sun Microsystems, Inc. is a multinational corporation vendor of computers, computer components, computer software, and information technology services, founded on February 24, 1982....
 JVM that do not allow dynamic graphics to be generated in a headless
Headless

In software, headless refers to computer programs that use textual input/output to interact with users, instead of using graphics or graphical user interfaces ....
 environment.

The Linux framebuffer device was developed to abstract the physical method for accessing the underlying framebuffer into a guaranteed memory map that is easy for programs to access. This increases portability, as programs are not required to deal with systems that have disjointed memory maps or require bank switching.

Page flipping


Since framebuffers are often designed to handle more than one resolution, they often contain more memory than is necessary to display a single frame at lower resolutions. Since this memory can be considerable in size, a trick was developed to allow for new frames to be written to video memory without disturbing the frame that is currently being displayed.

The concept works by telling the framebuffer to use a specific chunk of its memory to display the current frame. While that memory is being displayed, a completely separate part of memory is filled with data for the next frame. Once the secondary buffer is filled (often referred to as the "back buffer"), the framebuffer is instructed to look at the secondary buffer instead. The primary buffer (often referred to as the "front buffer") becomes the secondary buffer, and the secondary buffer becomes the primary. This switch is usually done during the vertical blanking interval
Vertical blanking interval

The vertical blanking interval , also known as the vertical interval or VBLANK, is the time difference between the last line of one frame or field of a raster display, and the beginning of the next....
 to prevent the screen from "tearing" (i.e., half the old frame is shown, and half the new frame is shown).

Most modern framebuffers are manufactured with enough memory to perform this trick even at high resolutions. As a result, it has become a standard technique used by PC game programmer
Game programmer

A game programmer is a programmer who primarily develops video games or related software . Game programming has many specialized disciplines; practitioners of any may regard themselves as "game programmers"....
s.

Graphics accelerators


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 a "graphics accelerator" in the Unix world.

Common graphics drawing commands (many of them geometric) are sent to the graphics accelerator in their raw form. The accelerator then rasterizes
Raster graphics

In computer graphics, a raster graphics image or bitmap, is a data structure representing a generally Rectangle grid of pixels, or points of color, viewable via a Computer display, paper, or other display medium....
 the results of the command to the framebuffer. This method can save from thousands to millions of CPU cycles per command, as the CPU is freed to do other work.

While early accelerators focused on improving the performance of 2D GUI
Graphical user interface

A graphical user interface is a type of user interface which allows people to human-computer interaction such as computers; hand-held devices such as MP3 Players, Portable Media Players or Gaming devices; household appliances and office equipment....
 systems, most modern accelerators focus on producing 3D imagery in real time. A common design is to send commands to the graphics accelerator using a library such as OpenGL
OpenGL

OpenGL is a standard specification defining a cross-language cross-platform Application programming interface for writing applications that produce 2D computer graphics and 3D computer graphics....
. The OpenGL driver then translates those commands to instructions for the accelerator's graphics processing unit
Graphics processing unit

A graphics processing unit or GPU is a dedicated graphics rendering device for a personal computer, workstation, or game console. Modern GPUs are very efficient at manipulating and displaying computer graphics, and their highly parallel structure makes them more effective than general-purpose Central processing unit for a range of com...
 (GPU). The GPU uses those microinstructions
Instruction set

An instruction set is a list of all the instruction , and all their variations, that a processor can execute.Instructions include:* Arithmetic such as add and subtract...
 to compute the rasterized results. Those results are bit blit
Bit blit

BitBlt or the synonymous term Blit is a computer graphics operation in which several bitmaps are combined into one using a "raster operator"....
ted to the framebuffer. The framebuffer's signal is then produced in combination with built-in video overlay devices (usually used to produce the mouse cursor without modifying the framebuffer's data) and any analog special effects that are produced by modifying the output signal. An example of such analog modification was the anti-aliasing
Anti-aliasing

In digital signal processing, anti-aliasing is the technique of minimizing the distortion artifacts known as aliasing when representing a high-resolution signal at a lower resolution....
 technique used by the 3dfx
3dfx

3dfx Interactive was a company that specialized in the manufacturing of 3D graphics graphics processing units and, later, graphics cards. It was a pioneer in the field for several years in the late 1990s until 2000 when it underwent one of the most high-profile demises in the history of the Personal computer industry....
 Voodoo cards. These cards add a slight blur to output signal that makes aliasing of the rasterized graphics much less obvious.

Popular manufacturers of 3D graphics accelerators are Nvidia
NVIDIA

Nvidia is a multinational corporation specializing in the manufacture of graphics processing unit technologies for workstations, desktop computers, and mobile devices....
 and ATI Technologies
ATI Technologies

ATI Technologies Inc. was a major designer and supplier of graphics processing units and motherboard chipsets. In 2006, the company was acquired by Advanced Micro Devices and was renamed the AMD Graphics Product Group, although the ATI brand was retained for graphics cards....
.

External links