|
Telling Your Buffers from Your Outputs
The image you can currently see on your monitor is derived from the graphics card's (or chip's) internal
representation of visual data, this data is stored in an area on on-board memory called the frame buffer. The
frame buffer defines visual images, be they 2D or 3D, as 'rasters'. A raster consists of a two-dimensional grid
of pixels that match the resolution of the output device (for example 1024 x 768 or 1280 x 1024 pixels).




 A close up shot of the NVIDIA 'Dusk' demo shows how a detailed image is made up from lots of simple coloured pixels.
The image displayed on any computer monitor or television is made up from a large grid of pixels, and each
pixel is defined by three colours (or channels), namely red, green and blue. Each pixel colour is thus derived
from a combination of three numbers, which each represent differing values of these colours. For example, black
is simply '0,0,0', and white is the maximum value for each channel.
When a graphics card needs to modify the displayed image, it just has to write new colour data for each pixel
stored in the frame buffer memory area. It probably comes as no surprise then that the amount of memory assigned
in the frame buffer for colour channels determines the range of colours that each pixel is capable of displaying
(a larger amount of memory can obviously store more pixel colour data).
Since a pixel is made up from three colours, a colour depth of 24 bits per pixel allows 8 bits for each colour
channel (24/3). This gives a heady 16.7 million different colours that can be displayed by each pixel, more
than enough colour depth for your average human eyeballs.
As the resolution of the display increases, so does the size of the frame buffer that's required.
800 x 600 at a 24-bit colour depth = 1.4MB (800 pixels x 600 pixels, multiplied by 3 bytes for each pixel
equals 1,440,000 bytes), 1600 x 1200 at a 24-bit colour depth = 5.8MB, and if you increase the colour depth
to 32-bit colour, 1600 x 1200 uses 7.7MB - that's how much memory it takes to store a single frame at any one
time.
Once there's a frame in the buffer ready to be displayed, it needs to be sent to the monitor, this is often
done in two different ways to cater for different display technologies.
The first output is delivered to a 'VGA' (Video Graphics Array) connector. All CRT (Cathode Ray Tube)
monitors attached to a VGA connector use analogue signals. To convert the digital data stored in the frame
buffer into an analogue signal, the graphics card uses a fast converter called a RAMDAC. This constantly reads
pixels from the frame buffer and converts them to varying analogue voltages which control the intensity of the
red/blue/green electron guns inside a CRT monitor.
 The VGA output on a graphics card
 The corresponding VGA plug which connects to the monitor
The second possible output can be delivered to a 'DVI' (Digital Video Interface) connector. As the name suggests, this connector is
capable of carrying digital pixel data (directly from the frame buffer) without first converting it to analogue. This port is
commonly used in conjunction with TFT monitors to help with picture quality (what's the point of converting from digital to
analogue, and then back from analogue to digital when the signal gets to the monitor?).
 The DVI-I (Digital Video Interface - Integrated) output on a graphics card
 The corresponding DVI-I plug which connects to the monitor
It's also worth noting that while VGA connectors are exclusively analogue, DVI connectors carry not only the digital signal,
but also the exact same analogue signal from the RAMDAC alongside it. The advantage of this being that a simple adapter can be
used to convert a DVI port to work with a VGA monitor:

Converting from DVI-I to VGA is as easy as plugging your dongle in.
You did keep your dongle... didn't you?
While we're on the subject of the frame buffer and outputs, this seems as good a time as any to mention frame
rates and refresh rates, and the distinction between them.
The refresh rate, measured in kHz, is the number of times per second that the image displayed on the monitor
is redrawn. Most graphics cards are capable of refreshing the screen more than 60 times per second, with higher
end cards capable of refreshing the screen 100 times per second (depending on the resolution being used and the
monitor's capabilities).
The frame rate is a separate measurement that indicates the number of times the card is able to update the frame
buffer in a second. So, unlike the refresh rate, the frame rate can vary depending on the current workload of the card.
If the card has to do more complex things to construct a frame, then the frame rate will drop as a result. An acceptably slow
frame rate starts at around 25-30 frames per second (this varies between game genres though).
Frame rates that exceed the current refresh rate are redundant to a large extent, since these 'extra' frames will
never be seen (e.g. at a refresh rate of 70kHz, a game running with a frame rate of 100 frames per second would still
only be showing 70 frames per second, the other 30 frames in-between will simply be lost).
<<< Previous
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13
Next >>>
Article Navigation:
|