Content deleted Content added
Amichaelnoll (talk | contribs) m Full name of Bell Labs, Mention of scan conversion. |
m grammar |
||
Line 14:
Computer researchers{{who|date=July 2017}} had long discussed the theoretical advantages of a framebuffer but were unable to produce a machine with sufficient [[computer memory|memory]] at an economically practicable cost.{{citation needed|date=August 2017}}<ref name="Gaboury">{{Cite journal|last=Gaboury|first=J.|date=2018-03-01|title=The random-access image: Memory and the history of the computer screen|journal=Grey Room|volume=70|url=https://escholarship.org/uc/item/0b3873pn|issue=70|pages=24–53|doi=10.1162/GREY_a_00233|s2cid=57565564|issn=1526-3819|hdl=21.11116/0000-0001-FA73-4|hdl-access=free}}</ref> In 1947, the [[Manchester Baby]] computer used a [[Williams tube]], later the Williams-Kilburn tube, to store 1024 bits on a [[cathode-ray tube|cathode-ray tube (CRT)]] memory and displayed on a second CRT.<ref>{{Cite journal|last1=Williams|first1=F. C.|last2=Kilburn|first2=T.|date=March 1949|title=A storage system for use with binary-digital computing machines|url=https://ieeexplore.ieee.org/document/5241129|archive-url=https://web.archive.org/web/20190426011059/https://ieeexplore.ieee.org/document/5241129|url-status=dead|archive-date=April 26, 2019|journal=Proceedings of the IEE - Part III: Radio and Communication Engineering|volume=96|issue=40|pages=81–|doi=10.1049/pi-3.1949.0018}}</ref><ref>{{Cite web|url=http://curation.cs.manchester.ac.uk/digital60/www.digital60.org/birth/manchestercomputers/mark1/documents/report1947cover.html|title=Kilburn 1947 Report Cover Notes (Digital 60)|website=curation.cs.manchester.ac.uk|access-date=2019-04-26}}</ref> Other research labs were exploring these techniques with [[MIT Lincoln Laboratory]] achieving a 4096 display in 1950.<ref name="Gaboury" />
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=75–94 (81) |url=https://books.google.com/books?id=8MuoCAAAQBAJ&pg=PA81}}</ref> This led to the development of the [[SuperPaint]] system by [[Richard Shoup (programmer)|Richard Shoup]] at [[Xerox PARC]] in 1972.<ref name="Shoup_SuperPaint">{{cite web |url=https://ohiostate.pressbooks.pub/app/uploads/sites/45/2017/09/Annals_final.pdf |archive-url=https://web.archive.org/web/20040612215245/http://accad.osu.edu/~waynec/history/PDFs/Annals_final.pdf |archive-date=2004-06-12 |title=SuperPaint: An Early Frame Buffer Graphics System |author=Richard Shoup |publisher=IEEE |work=Annals of the History of Computing |year=2001 |url-status=dead }}</ref> Shoup was 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.
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.
Line 48:
|}
In some designs it was also possible to write data to the lookup table (or switch between existing palettes) on the fly, allowing dividing the picture into horizontal bars with their own palette and thus render an image that had a far wider palette. For example, viewing an outdoor shot photograph, the picture could be divided into four bars
== Memory access ==
Line 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 82:
==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 [[electron beam]] of the output display is then commanded to move from vertex to vertex, tracing a line across the area between these points.
|