|
All video controllers today have an
accelerator which has its own graphics processor or coprocessor. The coprocessor can
handle many of the complicated tasks involved with drawing graphics to the screen, freeing
CPU resources to do other things and speeding up your work environment.
Video controllers in a modern PC typically come with two, four, eight, sixteen or more
Megabytes (MB) of RAM
onboard. More video memory allows a video card to display more colors at higher screen
resolutions. With more colors at higher resolutions, your screen will appear cleaner and
brighter. Video memory uses different types of memory such as DRAM, EDO DRAM,
VRAM, SRAM, SGRAM, and SDRAM with speeds of 8ns (nanoseconds) to 50ns.
|
|
Modern video systems involve
a great deal of information that must be moved around, particularly between the video
card, the processor and the system memory. The video system interface is the method by
which the video coprocessor and video memory are connected to the rest of the computer.
The video card requires more I/O bandwidth to the processor and memory than any other
device
|
|
in the system. So
much so, that video performance has traditionally been the driving factor for the creation
of newer and faster system buses. Local buses were created to address the bottleneck in
data transfer between the processor and video card that became acute when graphical
operating systems became the standard. The first local bus was the VESA local bus, and
VESA is a video-related standards organization. Bus mastering is an enhancement that
allows the video card to take over the system bus so that the video card can perform
transfers to and from system memory directly. This improves performance on certain video
operations, particularly 3D acceleration functions that use the system memory. Bus
mastering on modern PCs is currently supported only on the PCI bus.
ISA Bus
Older PCs, typically those from before 1993, use ISA-based video cards as
well. ISA video cards are obsolete. [more]
VESA Local Bus
VLB
video became very popular during the 486 era and provided better performance than ISA cards.
[more]
PCI Local Bus
It offers local bus performance and solves many of the problems
associated with VLB, and introduces a host of new features including Plug and Play and bus
mastering. [more]
(AGP) Accelerated
Graphics Port
AGP was designed for high-speed
interfacing between the processor and the video card. AGP addresses bottleneck problems by
defining a new interface for video information that quadruples the theoretical bandwidth
of current PCI buses. AGP is a port, and not a bus, because a bus can support multiple
devices and AGP cannot. It is a point-to-point connection between the video card and the
processor only. [more]
Feature Connectors
Many video cards contain what is called a
feature connector. This is an additional connector that is used to connect the video card
to other video devices such as 3D accelerators, MPEG decoders and video capture cards. The
reason that these connectors are used is that they permit the direct transfer of video
information from these devices to the video card, without having to use the main system
bus. There are different feature connector standards on the market today:
-
Video Feature Connector (VFC): This
original feature connector was part of the original VGA specification. Standard VFCs are
8-bit ports using a 26-pin connector, and are limited to the lower resolutions and color
depths of standard VGA. This is now an obsolete standard and is not used by higher-end
cards.
-
VESA Advanced Feature Connector (VAFC):
Developed by VESA as an extension to VFC, VAFC widens the port from 8 bits to 16 or 32,
and provides improved signaling for more reliability. The VAFC provides a high-bandwidth
conduit to the video card and uses an 80-pin connector.
-
VESA Media Channel (VMC): This is a
more advanced standard that in essence, defines another bus within the PC for interfacing
together multiple video streams. This system allows several units to be integrated
together in a sort of "back alley" bus, and uses a 68-pin connector.
Video Card
Bit vs. System Bus Width
Video cards performance is commonly
referred by the bit size. It is important to understand what this means refers only to how
much data the video card can handle internally. If a manufacturer advertises a PCI video
adapter as 128-bit, it is the internal clock of the bus they refer to. The card is still
on a 32-bit system bus and can run no higher than 32-bit. This is deceiving advertising
manufacturers still practice. |
Video
Resources
Compared to many other system devices, most
video cards do not use very many system resources, and device conflicts with video cards
are relatively rare. VGA-compatible video cards use the I/O addresses from 3B0-3BBh and
3C0-3DFh. This is well known to device makers who avoid this region. Some video cards use
an IRQ, and some do not. Older EGA cards used the 2/9 IRQ.
Resolution and Pixels
The image that is displayed on the screen
is composed of thousands or millions of small dots, called pixels. The word is a
contraction of the phrase, picture element. A pixel represents the smallest piece of the
screen that can be controlled individually. Each one can be set to a different color and
brightness. The number of pixels that can be displayed on the screen is referred to as the
resolution of the image, normally displayed as a pair of numbers, such as 640x480. The
first is the number of pixels that can be displayed horizontally on the screen, and the
second how many can be displayed vertically. The higher the resolution, the more pixels
that can be displayed and therefore the more that can be shown on the monitor at once,
however, pixels are smaller at high resolution and detail can be hard to make out on
smaller screens.
Color Depth
Each pixel of the screen image is displayed
on a monitor using a combination of three different color signals: red, green and blue.
Each pixel is controlled by the intensity of these three beams of light. When all
are set to the highest level the result is white and when all are set to zero the pixel is
black.The amount of information that is stored about a pixel determines its color depth.
Increased color depths also require significantly more memory for storage of the image,
and also more data for the video card to process, which reduces the possible maximum
refresh rate.
This table shows the most popular color depths:
Color Depth |
Number of Displayed Colors |
Bytes of Storage Per Pixel |
Common Name for Color Depth |
4-Bit |
16 |
0.5 |
Standard VGA |
8-Bit |
256 |
1.0 |
256-Color
Mode |
16-Bit |
65,536 |
2.0 |
High Color |
24-Bit |
16,777,216 |
3.0 |
True Color |
True color is given that name because three
bytes of information are used, one for each of the red, blue and green signals that make
up each pixel. Since a byte has 256 different values this means that each color can have
256 different intensities, allowing over 16 million different color possibilities. This
allows for a very realistic representation of the color of images. In fact, 16 million
colors is more than the human eye can discern.
Refresh
Rates and Interlacing
The RAMDAC is the device in the video card
that is responsible for reading the contents of the video memory, converting the digital
values in memory into analog video signals, and sending them over the video cable to the
monitor. The RAMDAC's ability to translate and transfer this information directly controls
the refresh rate for the video mode it is operating in. The refresh rate is the number of
times per second that the RAMDAC is able to send a signal to the monitor and the monitor
is able to repaint the screen.
Refresh rate is measured in Hertz (Hz), a unit of frequency. Support for a given
refresh rate requires two things: a video card capable of producing the video images that
many times per second, and a monitor capable of handling and displaying that many signals
per second. The refresh rates are somewhat standardized; common values are 56, 60, 65, 70,
72, 75, 80, 85, 90, 95, 100, 110 and 120 Hz. This is done to increase the chance of
compatibility between video cards and monitors.
|
|
|
|
Led by the demands of
increasingly realistic games that allow a user to move in a virtual 3D world, new video
cards with 3D capabilities are exploding onto the market. New cards are coming out
practically every month with different capabilities. The push for more realism
and faster
speeds means that more
|
|
3D work must be done in a
shorter period of time. It is not necessary to have a 3D graphics card to do 3D graphics,
but the large amount of computation work necessary to translate 3D images to 2D in a
realistic manner means that without specialized hardware to do this work, it must be done
by the processor and software.
|
3D
Operations
3D images are much more complex than 2D
images because of the much greater amount of information that must be used in order to
create a realistic 3D world. In addition, several mathematical operations must be used in
order to convert this 3D world to one that can be projected on a computer screen. 3D
images are handled inside the computer using abstract models. Usually, each 3D object is
composed of hundreds or even thousands of small triangles or other polygons that describe
its structure. When the program wants to move an object, it manipulates the corners of the
triangles to create movement. Each time the screen is recalculated it is necessary to
recalculate the color and intensity of each pixel on the 2D screen! This is done by
applying different 3D computations to the scene, in a process that is called rendering.
There are several different types of computations that are performed in 3D processing.
Some cards support more of them than others, and some are more efficient at certain ones
than others are. Here are some of the more common 3D operations:
-
Gourad Shading: This is an algorithm
that is used to give 3D surfaces realistic shading. The effect helps the object appear to
have depth and helps to define the shape better.
-
Clipping: This operation determines
what part of an object is visible on the screen and "clips out" any part that
the user cannot see. This saves time since the parts of objects that are off-screen are
ignored.
-
Lighting: Objects in the real world
have their appearance shaped by the light sources in the scene. Lighting effects cause
color shading, light reflection, shadows and other effects to be added to objects based on
their position and the position of light sources in the room.
-
Transparency: Some objects in the
real world are transparent or semi-transparent as glass, for example.
-
Texture Mapping: For realistic
objects, it is necessary to overlay pictures on them to give them texture. Texture mapping
allows objects to be made so that they appear to have substance instead of being
"flat".
-
Dithering: Dithering is the process
of mixing a small number of colors together in specific patterns to create the illusion of
there being a larger number of colors. It is used largely to show more realistic color
without needing to increase the color depth of the image.
-
Fogging: An effect used in outdoor
scenes, fogging serves two purposes by blurring objects that are in the distance. First,
it helps to make the scene appear more realistic. Second, fogging allows the 3D process to
be performed more quickly because those objects in the distance that are "fogged
out" can be computed more quickly since they are shown in less detail.
-
Filtering: There are several types of
filtering. Bilinear filtering is used when showing textures up close to remove the
"blocky" look that results from magnifying an object when showing it at the
front of a scene.
-
Buffering: Advanced 3D cards include
memory buffers that are used for various tasks during these complex calculations. The more
buffers the card has available, the more flexibility it has when doing advanced
operations. AGP systems can use the system memory for this.
Frame Rates
The frame rate is the number of times per
second that a new 3D image can be computed. When the frame rate gets too low, movement in
a 3D program appears choppy and uneven, which to many people destroys much of the realism
obtained through the 3D effects.
2D vs. 3D Video Cards
-
2D Cards: These are either older
cards, or newer cards that are optimized for 2D performance. When using a card of this
type, it is necessary to pair it with a 3D card to obtain 3D acceleration functions.
-
3D Cards: These are accelerators that
are designed only for 3D hardware functions. Since they do not do conventional 2D
acceleration, they need to work with a 2D card in most cases to deliver good 2D+3D
performance. Most of the higher-quality 3D cards are of this variety. They typically use a
feature connector to connect directly to the 2D card. This lets the 3D card perform its
acceleration functions to provide a video stream without requiring its own RAMDAC or bus
control logic. This is generally the best solution for high-end graphics but it incurs the
cost of two video cards.
-
Combination 2D+3D Cards: Most of
these cards provide moderate to good 2D performance and support most 3D acceleration
features.
3D Software Support
In order to benefit from 3D acceleration
features, it is necessary for software to know about them and support them. Support for a
particular card is required from a program if it is to take advantage of the 3D card's
features. Most of the specific support for 3D hardware is from games. Fortunately, new
standard libraries are being developed to tackle this problem. Much the way regular video
drivers abstract away the details of the hardware so that software does not have to worry
about which particular card is being used. Driver libraries like Direct3D and OpenGL are
designed to allow software to be written generically without tweaking it to each 3D
chipset on the market.
Video Decoding Hardware and Software
There are several ways that MPEG and other
video files can be played on a PC. The process involves reading the file, decompressing
the video data, and then feeding it to the video card for display on the monitor. Since
the data is compressed to reduce storage, it must be uncompressed to restore it to a
visible image. This takes a great deal of processing power. There are software programs
that can be used to decode these files. It is possible to get a dedicated card for MPEG
decoding, or to get a regular video card that has an MPEG decoder built into it. Dedicated
MPEG decoders come with different capabilities. They often use the video feature connector
on the regular video card, to supply video information directly to the card without tying
up the system bus with an enormous amount of video data. A high-quality decoder will allow
the display of full-screen, smooth video animation while leaving the system CPU free to do
other tasks. Video encoding and decoding software and hardware is still evolving today for
DVD and is likely to improve dramatically in coming years.
TV Tuners
It is possible to get video cards that
include a TV tuner built into them. With accompanying software, this allows you to view
television in a window on your desktop. TV tuners are also available as add-in cards.
|