15.1 Video Adapter Characteristics
The
following sections describe the important characteristics of video
adapters.
15.1.1 2D Versus 3D
The first graphics accelerators were 2D models, designed to provide
hardware acceleration for common display tasks (drawing and moving
windows, scaling fonts, and so on) when running standard business
applications under Windows. 2D accelerators essentially treat your
display as a flat, two-dimensional workspace. Although one window may
overlay another window, the top or foreground window always has
focus.Conversely, 3D accelerators treat your display as though it has
depth. For example, when you play a 3D computer game, an onscreen
character may walk in front of a table. The video adapter must
determine the relative positions of the character and the table as
seen from the viewer's position and display that
portion of the character that is in front of the table rather than
the portion of the table that should be concealed by the character.
3D video cards also support a variety of supplemental functions to
enhance realismfor example, adding textures to the surface of
concrete or adding reflections to a pool of standing water. Adding
these minor but visually important enhancements consumes a great deal
of memory and processor power, so high-performance 3D video adapters
are relatively expensive devices, with typical street prices of $125
to $300 or more.
|
That is, even an elderly 2D-only adapter can be used to play 3D
games, but because it does not incorporate 3D acceleration features
in hardware, the main system CPU itself must do all of the
calculations that would otherwise be done by a 3D adapter. The result
is very high CPU utilization (with the associated system
sluggishness) and jerky or poorly rendered 3D video without the
modeling nuances provided in hardware by the 3D accelerator.In fact, pure 2D accelerators haven't been
manufactured for years. In the early 1990s, two distinct types of
video adapters were available: moderately priced ($50 to $200) 2D
accelerators intended for mainstream use with standard Windows
programs, and very expensive ($500 to $2,000) 3D adapters intended
for niche markets such as animation and video production. As 3D
applications (particularly games) became more common, old-line 2D
manufacturers such as Matrox and ATI incorporated a limited subset of
3D functions in their mainstream adapters. There it stood until a few
years ago, when upstart companies such as 3dfx and
n VIDIA caught the old-line makers napping by
releasing graphics accelerators with a full range of 3D
functionality.That led to the current situation, where
3D performance is the only aspect of a graphics card that interests
most people. Reviews talk of little but how video cards compare in
various 3D benchmarks. That's unfortunate because in
reality 3D performance is unimportant to most users. In fact, unless
you are a serious gamer, 3D performance should probably be the last
consideration when choosing a video card. Such factors as 2D display
quality and availability of stable drivers are actually much more
important for most users.All video cards and embedded
video chipsets currently available provide at least minimal 3D
support. The important thing to remember is this: just as there is
not much absolute performance difference between a $75 processor and
a $300 processor, neither is there much real difference between a $75
video card and a $300 one. Benchmarks aside, the $75 card does
everything that 99% of users are likely to need. Yes, there are
differences, just as there are between processors, but unless you
push your hardware to the limit you're not likely to
notice much difference in day-to-day use.
15.1.2 Components
A
video adapter comprises the following components:
Rather
than depending on the main system CPU to create each video frame, a
graphics accelerator contains a graphics processor, which is
optimized to perform in hardware low-level video functions such as
transferring bitmaps, doing color and pattern fills, scaling fonts,
sizing and positioning windows, and drawing lines, polygons, and
other graphics primitives. An accelerated video adapter also requires
much less data to be transferred between the system bus and the video
adapter. For example, to draw a circle with a frame grabber, the
system CPU must create a bitmap of that circle and transfer it to the
frame grabber. Conversely, given only the center and radius of the
circle, a graphics accelerator can render the circle directly.Early accelerators were optimized for 2D graphics operations, which
are still most important when running standard business and personal
software such as word processors and web browsers. More recent
accelerators, including all current models, provide 3D acceleration,
which is primarily useful for playing 3D graphics-intensive games.
Unfortunately, some recent 3D adapters, particularly
n VIDIA models, are so heavily optimized for 3D
that they provide mediocre 2D performance. We have several venerable
Matrox video adapters, for example, that are useless for playing 3D
games, but provide better 2D video quality than any current 3D
accelerator.
Video
adapters use memory for several purposes. A portion of video memory
called the frame buffer stores the image as it
is constructed by the graphics processor and before it is sent to the
monitor. Available memory not occupied by the frame buffer caches
fonts, icons, and other graphical elements to improve video
performance. Some video adapters also allocate memory not being used
by the main frame buffer as a second frame buffer, allowing the next
frame to be created in the background while the current frame is
being displayed. The most important characteristics of video memory
are its size, type, and speed. Video adapters use one of the
following memory types:
First- and some
second-generation graphics accelerators used standard DRAM, which was
not ideal for the purpose. DRAM is no longer used in video adapters
because it is so slow, mainly because it is
single-ported, which means that it does not
allow data to be read and written simultaneously.
EDO provides higher
bandwidth than standard DRAM, can run at higher speeds, and manages
read/write access more efficiently. EDO is single-ported, typically
operates with 50 to 60 ns access times, is usually 64 bits wide, and
yields overall bandwidth of 400 MB/s. EDO was commonly used in video
adapters before the advent of SDRAM and the various specialized types
of video memory described later in this list, and continued to be
used until mid-2000 in some of the least-expensive video adapters.
Nowadays, even the cheapest video adapters use something faster than
EDO DRAM.
VRAM (Video RAM)
A special type of DRAM, VRAM is used only in video adapters and is
designed to overcome the limitations of the single-ported arrangement
used by DRAM and EDO. VRAM is
dual-portedwhich allows the next frame to
be written while the last frame is being readoperates at 50 to
60 ns access times, is typically 64 bits wide, and yields overall
bandwidth of 400 MB/s. Because it requires less-frequent refreshing
than DRAM or EDO, it is much faster, and correspondingly more
expensive. VRAM was commonly used in mid- to high-end video adapters
through about 1997, but has been superseded by SDR-SDRAM and
DDR-SDRAM, described later in this list.
WRAM (Windows RAM)
WRAM, first introduced by Matrox with its Millenium series of video
adapters, is an enhanced version of VRAM that is somewhat less
expensive to produce and provides about 20% higher performance than
VRAM. Like VRAM, WRAM has been superseded by SDR-SDRAM and DDR-SDRAM.
A step up from EDO, SDRAM
runs the memory and graphics processor on a common clock reference,
allowing faster access times and higher throughput. SDRAM is
single-ported, operates at 8 to 15 ns access times, is typically 64
bits wide, and yields overall bandwidth of 800 MB/s at 100 MHz. SDRAM
is now used only in inexpensive video adapters. SDRAM is now
sometimes described as Single Data Rate SDRAM (SDR-SDRAM) to
differentiate it from DDR-SDRAM.
SGRAM is an enhanced form of SDRAM, used only on video adapters, that
supports write-per-bit and block writes, both of which improve
performance over SDRAM when used with graphics accelerators that
explicitly support SGRAM. SGRAM video memory is single-ported,
operates at 6 to 10 ns access times, is typically 64 bits wide, and
yields overall bandwidth of 800 MB/s. SGRAM was formerly used on
midrange and high-end video adapters, but has now largely been
replaced by DDR-SDRAM, described next.
DDR-SDRAM (Double Data Rate SDRAM)
DDR-SDRAM differs from standard Single Data Rate SDRAM (SDR-SDRAM) in
that it transfers data on both the rising and falling edge of the
clock cycle, doubling transfer rate on a 64-bit bus to 1600 MB/s at
100 MHz or 2100+ MB/s at 133 MHz. As of July 2003, the fastest video
DDR modules readily available run at 500 MHz and transfer 8000 MB/s
on a 64-bit bus, 16,000 MB/s on a 128-bit bus, or 32,000 MB/s on a
256-bit bus.DDR-SDRAM was first used only in expensive video adapters, but by
early 2003 even many inexpensive video adapters used DDR-SDRAM. In
addition to the speed of their graphics engines, video adapters are
differentiated by the amount and speed of their onboard memory, as
well as by the width of their memory interfaces. A low-end adapter
may have 64 MB of DDR-SDRAM operating at 500 MHz on a 64-bit
interface. A midrange adapter may have 128 MB of DDR-SDRAM operating
at 750 MHz on a 128-bit interface. A high-end adapter may have 256 MB
of DDR-SDRAM operating at 1,000 MHz on a 256-bit interface. Each jump
in memory speed or interface width increases the bandwidth available
for video operations.
GDDR-II and GDDR-III SDRAM (Graphics DDR-SDRAM)
As standard DDR-SDRAM approaches its performance limits, video
adapter makers are designing chipsets for enhanced forms of DDR-SDRAM
called Graphics DDR-SDRAM (GDDR-SDRAM). GDDR-II is a variant of the
next-generation DDR-II memory, with point-to-point signaling support
added for improved graphics performance. n VIDIA
backs GDDR-II, which is regarded by many as a transitional standard.
ATI favors GDDR-III, which is a graphics-specific variant of DDR-III,
the follow-on to DDR-II. The price, performance, and scalability of
GDDR-II and GDDR-III are uncertain, so most makers are trying to
hedge their bets. Either standard might prevail, and it is quite
possible that the two will coexist.n VIDIA uses GDDR-II in the GeForce FX, and seems
determined to force acceptance of that standard. Unfortunately, as of
July 2003 JEDEC had not yet established a GDDR-II standard. Three
slightly different and incompatible types of GDDR-II exist, which
means chipset makers must design interfaces that are compatible with
all three versions. ATI, on the other hand, is taking a wait-and-see
approach. ATI has produced engineering samples using GDDR-II, but its
production video cards use standard DDR memory. ATI hopes that using
fast DDR-I memory with a 256-bit interface will provide sufficient
bandwidth until GDDR-III chips are widely available at reasonable
prices. 500 MHz DDR-I memory on a 256-bit interface yields 32 GB/s
bandwidth, so we think that's a reasonable approach.
The RAMDAC examines video memory many times per second, using a
look-up table to translate the digital values it finds in memory to
the analog voltages that the monitor requires to display the
corresponding colors. The RAMDAC contains three Digital-to-Analog
converters (DACs), one each for the red, green, and blue signals that
the monitor uses to display the full spectrum that it supports. The
architecture and speed of the RAMDAC (along with the graphics
processor itself) determine the combinations of resolutions, color
depths, and refresh rates that the video adapter supports. All other
things being equal, an adapter with a faster RAMDAC outperforms an
adapter with a slower RAMDAC. Some video adapters are sold in two
versions which differ only in the speeds of the RAMDAC and in the
type and amount of memory installed. The faster versions, often
described as "Ultra,"
"Max," or
"Pro," usually sell at a
substantial premium, run hotter, and provide no real benefit for most
users.
Drivers
translate the display data generated by an application or operating
system into the specific instructions needed by the graphics
processor to create the image that will be displayed on the monitor.
The driver decides how to present data to the graphics processor so
as to optimize the hardware acceleration functions available on the
graphics processor. That means that a mediocre graphics processor
with an excellent driver may outperform an excellent graphics
processor with a mediocre driver, so the availability of robust,
well-optimized drivers for whatever operating system you run is a
crucial factor in choosing a video adapter. Drivers are often
optimized for particular combinations of resolution and color depth,
so it's often worthwhile to experiment with
different settings.In the past, video drivers had to be written for a specific
application running on a specific operating system using a specific
video adapter. If you wanted to run UltraCAD 5.1 on a FastPix
SuperVGA adapter with a 2.03 BIOS under ABC-DOS 3.3, you had to have
a driver written specifically for that combination of hardware and
software. The flood of 3D software titles and 3D accelerators made
that situation untenable. The solution was to use an intermediate
hardware abstraction layer (HAL) to isolate the graphics processor
from the operating system and applications, and to develop
standardized APIs to communicate with that HAL. Because applications
need to understand only how to communicate with one or a few APIs
rather than with every graphics processor available, they can run on
any video adapter that supports an API that they understand how to
communicate with. Two 3D APIs are dominant in the PC environment:
OpenGL was originally developed by Silicon Graphics Inc. (SGI) as a
general-purpose 3D API. OpenGL found its first niche in high-end CAD
systems running on Unix X-terminals, and was later implemented on PC
workstations running CAD and other 3D graphics-intensive
environments. With the release of a Windows version in 1996, support
for OpenGL began to migrate downward to mainstream 3D applications,
including games. OpenGL is widely supported by software developers
because it offers better low-level control over 3D graphics
operations and was perceived as being an easier API to write to than
the competing Microsoft standard. OpenGL support can be implemented
in two ways: Mini Client Drivers
(MCDs) are relatively easy to write, but provide
limited functionality. Installable Client
Drivers (ICDs) are much more
difficult to write, but provide additional functionality. The
importance of OpenGL, particularly to the gaming community, is waning
as Microsoft DirectX increasingly dominates 3D applications, but
OpenGL remains important for professional graphics applications.
D3D is the 3D
acceleration part of DirectX, Microsoft's umbrella
multimedia standard, which also includes DirectDraw (2D
acceleration), DirectSound (audio), DirectInput (support for
joysticks and similar input devices), and DirectPlay (Internet
gaming). Versions through 5.0 were slow, buggy, and feature-poor when
compared to OpenGL and proprietary 3D APIs. Microsoft refined and
tuned D3D by reducing dependence on the main system CPU and
incorporating OpenGL features. With version 6.0 D3D could finally
compete on a reasonably equal basis with OpenGL and proprietary APIs,
although it was still somewhat slower and less feature-laden.
Although 3D software manufacturers had been burned by D3D 5.0, they
recognized the improvements in 6.0, and most incorporated D3D 6.0
support immediately. The convergence between D3D and OpenGL continued
with versions 7.0, 8.0, and 9.0, and applications that support only
D3D are no longer at a significant disadvantage relative to those
that support OpenGL and/or proprietary APIs.
For now, any 3D video card you choose should support the latest
release of D3D, which is used by most current 3D games and other 3D
applications. Many 3D applications, including some games, also
support OpenGL for its higher performance and additional
functionality, so ideally the card you choose should also have an
OpenGL ICD. Support for the proprietary 3dfx Glide API, which
dominated 3D gaming through about 1999, is no longer important
because nearly all current games support D3D and/or OpenGL and
because 3dfx has been subsumed by n VIDIA.
15.1.3 Interface
Early
video adapters, including the first generation of graphics
accelerators, used the ISA bus, which soon proved inadequate to carry
the high volume of video data required by graphics-based operating
systems and applications. VESA Local Bus
(VLB) adapters, shipped with many 486 systems
and a few early Pentium systems, greatly improved throughput. ISA and
VLB video adapters are obsolete but remain in limited distribution,
although they are now difficult to find and use video chipsets that
are several generations out of date. Any system so old that it
accepts only an ISA or VLB video adapter is too old to be worth
upgrading. Current video adapters use one of the following
interfaces:
The PCI
bus is 32 bits wide and runs at 33.3 MHz, providing peak throughput
of 133 MB/s. The fact that a PCI video card shares the bus with other
PCI devices means that heavy transfers of video data reduce the
bandwidth available to other PCI peripherals, such as hard disk
controllers and network cards. This concern is still largely
theoretical because PCI bus saturation is very rare with current
systems and software.
AGP (Accelerated Graphics Port)
Intel's concern about PCI throughput limitations and
the increasing amount of data that new generations of 3D video
adapters would demand led it to introduce AGP. Although AGP supports
2D operations, it provides no real benefit over PCI in 2D. As the
name implies, AGP is a port rather than a bus, which means that it
connects only two devices. AGP provides a direct unshared channel
between the AGP video adapter and the system chipset, which allows
the CPU to transfer data to the AGP card without the 133 MB/s
limitation of the PCI bus.
AGP X1 transfers 32 bits per clock cycle at 66 MHz, for total peak
base throughput of 264 MB/s. AGP X2 mode, called 2X AGP, transfers
data on both rising and falling edges of the clock cycle to yield
peak throughput of 528 MB/s. 4X AGP, introduced with the AGP 2.0
specification, doubles throughput again to just over 1 GB/s by
transferring data four times per clock cycle. AGP 8X, the basis of
the AGP 3.0 specification, doubles throughput again to just over 2
GB/s. Motherboards and video adapters with AGP 8X support began
shipping in late 2002. The additional bandwidth of 8X AGPor 4X
AGP, for that matter, is of little practical importance because
nearly all AGP adapters use local video memory rather than main
system memory. Even the 2 GB/s bandwidth of 8X AGP pales compared to
the 32 GB/s bandwidth of a 256-bit video memory interface using local
DDR-SDRAM. AGP 8X is essentially just a marketing gimmick.In theory, the AGP bus has two other throughput advantages relative
to PCI. First, AGP uses pipelining, which allows it to sustain
throughput at 80% of theoretical. Second, AGP uses Sideband
Addressing , a process that allows queuing up to 32
commands and allows data and commands to be sent simultaneously. One
highly touted benefit of AGP is Direct Memory
Execute (DIME), which allows the AGP
adapter to use system memory as though it were locally installed
video memory. DIME is implemented with a device called a
Graphics Aperture Remapping Table
(GART), which can claim small, widely
distributed areas of main memory and present them to the adapter as a
large, contiguous area of virtual
"local" video memory. In theory,
DIME allows an AGP adapter with limited local memory to store large
texture bitmaps and other graphical elements in main memory. In
practice, DIME is of little real benefit because high-performance
video adapters (PCI or AGP) have enough memory to store textures
locally. Also, although DIME is faster than accessing main memory
across the PCI bus, DIME is still slower than accessing local memory
on the video card, particularly if that local memory is DDR-SDRAM
memory, which high-performance video cards use. (See Figure 15-1 for a picture of AGP and PCI slots.)
Figure 15-1. An AGP slot (top) with two PCI slots below it

In short, AGP remains a solution in search of a problem, particularly
for those who use primarily 2D applications. Windows NT users have no
reason to prefer AGP because NT treats AGP cards as standard PCI
cards, as do early releases of Windows 95. Windows 95 OSR2 or higher,
Windows 98/98 SE/Me, Windows 2000/XP, and of course Linux have
operating system support for AGP.Despite its lack of real advantages over PCI, AGP is the best choice
if your motherboard has an AGP slot. At the low end, AGP adapters
cost less than comparable PCI adapters. At the midrange and high end,
AGP is the only option. AGP is now the dominant interface, so
manufacturers have ceased development of PCI adapters. That means the
latest video chipsets are available only with AGP adapters, and any
PCI adapter you can find is at least a couple of generations out of
date.1X AGP cards are no longer sold, and only obsolescent adapters use 2X
AGP. Mainstream video adapters are now produced only in 4X and 8X AGP
versions. Although there's nothing wrong with 8X
AGP, neither does it make sense to pay extra for it if an otherwise
suitable 4X AGP card is available. You may have little choice but to
buy 8X AGP, however. Video card makers are abandoning 4X AGP in favor
of 8X AGP as they introduce new models.Embedded video adapters may be either PCI or AGP. If you buy a
motherboard with embedded video, keep in mind that you may one day
want to upgrade the video in that system. Doing that requires both
that you can disable embedded video, which is not possible on all
motherboards, and that you have an available slot for the new video
card. Choose a motherboard with embedded AGP video circuitry that
also contains an available AGP slot. Ideally, that AGP slot should be
4X or 8X. Note that some motherboards with embedded AGP video have no
AGP slot. These can be upgraded only by installing a PCI video
adapter. That wasn't a problem in the past, when PCI
video adapters were still widely available, but high-performance
video cards are no longer available with PCI interfaces.
15.1.3.1 AGP interfaces and signaling voltages
There are three versions of the AGP
specification, as follows:
AGP1.0 specifies an interface that supports 1X
and 2X speeds with 3.3V signaling and a keyed 3.3V connector. AGP1.0
supports DIME, pipelined transactions, source-synchronous clocking,
texturing, and sidebanding.
AGP2.0 specifies an interface that supports 1X,
2X, and 4X speeds with 1.5V signaling. AGP2.0-compliant interfaces
and adapters may use either a 1.5V keyed connector, which accepts
only 1.5V devices, or a universal connector, which accepts 1.5V or
3.3V devices interchangeably. AGP2.0 adds Fast Writes to the
protocols supported by AGP1.0.
AGP3.0 specifies an interface that supports 4X
and 8X speeds with 0.8V signaling. AGP3.0 uses the same 1.5V keyed
connector or universal connector used by AGP2.0. AGP3.0 adds several
protocol elements to those supported by AGP2.0, and removes support
for some AGP2.0 features.
There are six types of AGP interfaces, and six corresponding types of
AGP adapters, as follows:
AGP3.3V interfaces and adapters support 1X or 2X
operation at 3.3V only, using a 3.3V connector. An AGP3.3V adapter
can be installed in an AGP3.3V, UAGP, or UAGP3.0 interface. An
AGP3.3V interface accepts an AGP3.3V, UAGP, or UAGP3.0 adapter.
AGP1.5V interfaces and adapters support 1X, 2X,
or 4X operation at 1.5V only, using a 1.5V connector. An AGP1.5V
adapter can be installed in an AGP1.5V, UAGP (described next),
U1.5VAGP3.0, or UAGP3.0 interface (the latter two described later in
this list). An AGP1.5V interface accepts an AGP1.5V, UAGP,
U1.5VAGP3.0, or UAGP3.0 adapter.
Universal AGP (UAGP)
interfaces and adapters support 1X, 2X, or 4X operation at 3.3V or
1.5V, using a universal connector. A UAGP adapter can be installed in
an AGP3.3V, AGP1.5V, UAGP, U1.5VAGP3.0, or UAGP3.0 interface. A UAGP
interface accepts an AGP3.3V, AGP1.5V, UAGP, U1.5VAGP3.0, or UAGP3.0
adapter.
AGP3.0 interfaces and adapters support 4X or 8X
operation at 0.8V only, using a 1.5V connector. An AGP3.0 adapter can
be installed in an AGP3.0, U1.5VAGP3.0, or UAGP3.0 interface. An
AGP3.0 interface accepts an AGP3.0, U1.5VAGP3.0, or UAGP3.0 adapter.
Universal 1.5V AGP3.0
(U1.5VAGP3.0) interfaces and adapters support
1X, 2X, 4X, or 8X operation at 1.5V or 0.8V, using a universal
connector. A U1.5VAGP3.0 adapter can be installed in any AGP
interface except the AGP3.3V interface. A U1.5VAGP3.0 interface
accepts any AGP adapter except AGP3.3V adapters.
Universal AGP3.0 (UAGP3.0)
interfaces and adapters support 1X, 2X, 4X, or 8X operation at 3.3V,
1.5V, or 0.8V, using a universal connector. A UAGP3.0 adapter can be
used in any AGP interface. A UAGP3.0 interface supports any AGP
adapter.
AGP3.3V interfaces and adapters are obsolete. Recent motherboards and
adapters may use any of the other AGP types. Note that compatibility
does not imply optimum operation. For example, although a recent 4X
UAGP3.0 adapter functions when connected to an old AGP3.3V interface,
the older interface limits the adapter to 2X performance.AGP interfaces and adapters use specific determination pins to
identify themselves and their capabilities. More specifically, the
states of the MB_DET pin on the interface and the GC_DET and TYPEDET
pins on the adapter identify the AGP level and voltage supported.
Table 15-1 lists the compatibility of various AGP
interfaces and adapters. It includes only those combinations that are
physically compatible. For example, it does not list the AGP3.3V
interface with an AGP1.5V adapter because that interface does not
physically accept that adapter. A combination listed as Illegal/Not
Supported means that the adapter physically fits the interface
connector but does not function. If the interface and adapter are
designed properly, no damage occurs.
Interface | Adapter | MB_DET | GC_DET | TYPEDET | Mode | Speed |
---|---|---|---|---|---|---|
AGP3.3V | AGP3.3V | Doesn't care | Open | Open | AGP3.3V | 1X, 2X |
AGP3.3V | UAGP | Doesn't care | Open | Ground | AGP3.3V | 1X, 2X |
AGP3.3V | UAGP3.0 | Doesn't care | Open | Ground | AGP3.3V | 1X, 2X |
AGP1.5V | AGP1.5V | Open | Open | Ground | AGP1.5V | 1X, 2X, 4X |
AGP1.5V | UAGP | Open | Open | Ground | AGP1.5V | 1X, 2X, 4X |
AGP1.5V | AGP3.0 | Open | Ground | Ground | Illegal | Not supported |
AGP1.5V | U1.5VAGP3.0 | Open | Ground | Ground | AGP1.5V | 1X, 2X, 4X |
AGP1.5V | UAGP3.0 | Open | Ground | Ground | AGP1.5V | 1X, 2X, 4X |
UAGP | AGP3.3V | Doesn't care | Open | Open | AGP3.3V | 1X, 2X |
UAGP | AGP1.5V | Open | Open | Ground | AGP1.5V | 1X, 2X, 4X |
UAGP | UAGP | Open | Open | Ground | AGP1.5V | 1X, 2X, 4X |
UAGP | AGP3.0 | Open | Ground | Ground | Illegal | Not supported |
UAGP | U1.5VAGP3.0 | Open | Ground | Ground | AGP1.5V | 1X, 2X, 4X |
UAGP | UAGP3.0 | Open | Ground | Ground | AGP1.5V | 1X, 2X, 4X |
AGP3.0 | AGP1.5V | Ground | Open | Ground | Illegal | Not supported |
AGP3.0 | UAGP | Ground | Open | Ground | Illegal | Not supported |
AGP3.0 | AGP3.0 | Ground | Ground | Ground | AGP3.0 | 4X, 8X |
AGP3.0 | U1.5VAGP3.0 | Ground | Ground | Ground | AGP3.0 | 4X, 8X |
AGP3.0 | UAGP3.0 | Ground | Ground | Ground | AGP3.0 | 4X, 8X |
U1.5VAGP3.0 | AGP1.5V | Ground | Open | Ground | AGP1.5V | 1X, 2X, 4X |
U1.5VAGP3.0 | UAGP | Ground | Open | Ground | AGP1.5V | 1X, 2X, 4X |
U1.5VAGP3.0 | AGP3.0 | Ground | Ground | Ground | AGP3.0 | 4X, 8X |
U1.5VAGP3.0 | U1.5VAGP3.0 | Ground | Ground | Ground | AGP3.0 | 4X, 8X |
U1.5VAGP3.0 | UAGP3.0 | Ground | Ground | Ground | AGP3.0 | 4X, 8X |
UAGP3.0 | AGP3.3V | Doesn't care | Open | Open | AGP3.3V | 1X, 2X |
UAGP3.0 | AGP1.5V | Ground | Open | Ground | AGP1.5V | 1X, 2X, 4X |
UAGP3.0 | UAGP | Ground | Open | Ground | AGP1.5V | 1X, 2X, 4X |
UAGP3.0 | AGP3.0 | Ground | Ground | Ground | AGP3.0 | 4X, 8X |
UAGP3.0 | U1.5VAGP3.0 | Ground | Ground | Ground | AGP3.0 | 4X, 8X |
UAGP3.0 | UAGP3.0 | Ground | Ground | Ground | AGP3.0 | 4X, 8X |
|
15.1.3.2 AGP Pro
The AGP
2.0 Specification introduced 4X mode, but had some deficiencies with
regard to workstation graphics cards. In particular, AGP 2.0 allows a
maximum of 25W of power, which is inadequate for high-end
professional graphics cards. If AGP was to be usable for professional
graphics adapters, Intel needed to make provision for the additional
needs of such cards. To do so, Intel extended the AGP 2.0
Specification by adding the AGP Pro Addendum, which defines the
following features:
The AGP Pro connector expands the standard 132-pin AGP connector to
180 pins, by extending both ends of the standard AGP slot. A standard
AGP 1X, 2X, or 4X card functions in an AGP Pro slot, but the converse
is not true.
A standard AGP 2.0 slot provides at most 25W of 3.3/5V power. An AGP
Pro slot provides additional 3.3V power, adds 12V power, and can
provide up to 110W of total power.
AGP Pro permits using multiple cards in multiple slots. An AGP Pro
solution can use the AGP Pro slot alone, or the AGP Pro slot and one
or two adjacent PCI slots, which need be only standard 32-bit, 33
MHz, 133 MB/s PCI slots. Those adjacent slot positions can be used to
supply additional electrical power, PCI bus functionality, mechanical
support, or simply additional space. A 25W AGP Pro card may occupy
only the AGP Pro slot. A 50W AGP Pro card (or cards) may occupy the
AGP Pro slot and one PCI slot. A 110W AGP Pro card (or cards) may
occupy the AGP Pro slot and two PCI slots. AGP Pro defines two pins,
PRSNT1# and PRSNT2#, that are used to indicate the presence of an AGP
Pro card, its type, and how much power it requires. Table 15-2 lists how those pins are used.
PRSNT1# | PRSNT2# | AGP Pro Configuration |
---|---|---|
No connection | No connection | AGP Pro card not installed |
Ground | No connection | 50 W AGP Pro card installed |
Ground | Ground | 110 W AGP Pro card installed |
No connection | Ground | Reserved |
specifies mechanical and thermal design criteria. AGP Pro is closely
associated with the WTX workstation motherboard form factor intended
for professional workstations, but a few ATX motherboards are
available with AGP Pro support, most of which are targeted at serious
gamers. Most AGP Pro video cards are intended for professional
graphics, but some of the latest gaming video cards are or soon will
be shipping in AGP Pro versions because they require more than the
25W that standard AGP can provide. AGP 3.0 includes AGP support, and
AGP 3.0 Pro devices are backward-compatible with AGP 2.0 Pro devices.
|
standard. The next generation of motherboards will replace AGP with
an enhanced version of the PCI bus called PCI
Express. This new bus standard will support very high data
rates and other enhancements, including isochronous video support. We
do not expect motherboards with PCI Express slots to begin appearing
before mid-2004, and it may well be 2005 before PCI Express
motherboards and expansion cards are common. For more information
about PCI Express, see http://www.intel.com/technology/pciexpress/index.
15.1.4 Display Settings
The following display
settings determine how much information a video adapter and driver
display and how often that information is updated:
Resolution
, also
called addressability, refers to the maximum
number of pixels that the video adapter can display, listed by
vertical columns and horizontal rows. For example, a standard VGA
adapter can display at most 640 columns by 480 rows of pixels, which
is abbreviated as 640x480 resolution. Video cards do not support
continuously variable resolution, but instead provide standard
"prepackaged" combinations of
vertical and horizontal resolutione.g., 1280x1024. Using
higher resolution permits more information to be displayed. Also, for
any given size of an object onscreen, using higher resolution
allocates more pixels to that object, avoiding
"jaggies",
"stair-stepping," and other video
artifacts that degrade image quality. Conversely, using too high a
resolution for the monitor size results in individual display
elements becoming too small to be readable. The best resolution to
use is determined by monitor size and quality, video adapter
capabilities, and personal factors such as visual acuity.
A
pixel, also called a pel or
picture element, is the smallest individually
addressable display element, and comprises three subunits, one each
for red (R), green (G), and blue (B). Color
depth refers to the number of discrete colors that can be
displayed, and is determined by the number of bits allocated to each
primary color, quantified as bits-per-pixel
(BPP). Standard VGA allocates 4BPP, which allows
at most 16 (24) colors to be displayed
simultaneously from a total palette of 256 available colors. Current
video adapters support 256-color mode (8BPP); High Color or 64K Color
mode (16BPP, 65,536 colors, 5 bits each allocated to Red and Blue,
and 6 bits to Green); and True Color or 16.7 Million Color mode
(24BPP, 16,777,216 colors, 8 bits each allocated to R, G, and B).
Note that, although True Color requires only 8 bits each on the Red,
Green, and Blue channels (24 bits total), some adapters add a fourth
"alpha" channel, and therefore
require 32BPP. Although 256 colors are adequate for standard business
applications, displaying continuous-tone High Color or True Color
images with only 256 colors results in posterization effects that
reduce realism. Any recent graphics accelerator can run True Color
mode at commonly-used resolutions, and that is usually the best
choice.
A video card displays the screen
image as a series of images that is replaced many times per second,
even when the screen image is unchanging (e.g., your desktop). As
with movies or television, a phenomenon known as
persistence of vision allows the human brain to
recognize a rapid sequence of still images as continuous smooth
motion. In order for this phenomenon to occur, screen updates must
occur very frequently. The number of times per second that the video
card replaces the current screen image with a new image is called the
refresh frequency. The refresh frequency
necessary to provide a stable image varies with the individual,
monitor size, persistence of monitor phosphors, ambient lighting, the
image being displayed, and other factors, but is typically somewhere
between 60 and 90 images per second. Setting refresh frequency too
low results in visible flicker. Setting it too high for any given
combination of monitor and video adapter may limit you to using a
lower resolution and/or color depth than you would prefer, so make
sure that the monitor and video adapter you buy support reasonable
refresh rates for the resolution and color depth you intend to run.
We generally use a refresh rate of 75 Hz or higher on 15-inch
monitors running 800x600; 75 to 85 Hz on 17- inch monitors running
1024x768; and 85 Hz or higher on 19-inch and larger monitors running
1280x1024 or higher. Most people find these settings suitable for
running typical office productivity applications, web browsers,
graphics packages, and so on. Note, however, that some special
applications, such as medical imaging, may require very high refresh
rates and accordingly expensive monitors.
Resolution and color depth settings together determine how much data
must be stored for each image, and so the amount of video memory
required. Refresh frequency determines only how often the image is
updated, and so has nothing to do with the amount of video memory
needed. Nearly all recent video cards have at least 8 MB of local
video memory, which is sufficient to display 32-bit color at
1600x1200 resolution in 2D. 3D graphics accelerators have from 32 MB
of local video memory to 128 MB or more, which is sufficient to
display 3D games at high resolution.
15.1.5 Throughput
The overall throughput of a video
adapter is constrained by the speed and architecture of its RAMDAC
and video memory, and the number of bits that it processes per
operation. The throughput required at any given combination of
display settings is the product of four factors: resolution (how many
pixels per frame), color depth (how much data per pixel), refresh
rate (how many frames per second), and number of planes (one for 2D
modes, and typically three or four for 3D modes). When a video
adapter reaches its throughput limit, you can increase any of these
factors only by reducing one or more of the others.For example, a video adapter may have a RAMDAC that can process at
most 225 million bytes/s. Operating in 2D mode, that adapter supports
1024x768 resolution at 24BPP and 85 Hz refresh. With those settings,
the video adapter processes (1024 x 768 x 24BPP
x 85 Hz = 200,540,160 bytes/s), well within the RAMDAC
limits. Increasing resolution to 1152x864 requires (1152 x
864 x 24BPP x 85 Hz = 253,808,640 bytes/s),
well beyond the capacity of this RAMDAC. To run 1152 x
864, you can either: (a) continue using 85 Hz refresh, but reduce the
color depth from 24BPP to 16BPP (1152 x 864 x
16BPP x 85 Hz = 169,205,760 bytes/s), or (b) continue
using 24BPP, but reduce the refresh rate from 85 Hz to 75 Hz (1152
x 864 x 24BPP x 75 Hz = 223,948,800
bytes/s).Similarly, when the adapter runs in 3D mode, the requirement for
three (or four) planes forces lower resolutions, color depths, and/or
refresh rates. This RAMDAC, for example, is at its limit in 3D mode
when running 800x600 resolution at 16BPP and 78 Hz (800 x
600 x 16BPP x 78 Hz x 3 planes =
224,640,000 bytes/s). This is why, relative to 2D cards, 3D video
cards are equipped with a much faster RAMDAC (to process the
additional data) and much more memory (to store the additional planes
as well as supplementary information such as texturing data). In
practice, you'll never need to calculate these
numbers because video drivers support only those combinations of
display settings that are within the ability of the video hardware.Although conventional wisdom says increasing resolution and/or color
depth slows performance because more information must be processed
and transferred, this is not invariably true. Some video adapters run
faster at 1024x768 than at 800x600, for example, or faster at 16.7
million colors than at 256 colors. Why? Because the driver is
optimized for the higher resolution or color depth.
Don't assume that increasing either resolution or
color depth will slow down your video. Test each usable combination
and pick the one that works for you.