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 realism?for 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.

Midrange 3D video adapters, those that are 12 to 18 months behind the current generation, sell for $50 or so, and provide all the 3D performance most people need. For example, Robert built a replacement for his primary desktop system in April 2003. He used an Intel D875PBZ motherboard, an 800 MHz FSB Pentium 4/3.0G processor, a Plextor DVD+RW DVD writer, and two Seagate Serial ATA Barracuda V hard drives, all top-of-the-line products at the time. If this had been a gaming system, Robert would have installed a $400 ATI RADEON 9800 Pro. But because Robert doesn't play intensive 3D games on that system, he instead bought a $50 RADEON 7500 video adapter.

Note that 3D performance is merely a matter of degree. 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 nVIDIA 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:

Graphics processor

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 nVIDIA 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 memory

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:

DRAM (Dynamic Random Access Memory)

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 DRAM (Extended Data Out DRAM)

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-ported?which allows the next frame to be written while the last frame is being read?operates 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.

SDRAM (Synchronous DRAM)

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 (Synchronous Graphics RAM)

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. nVIDIA 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.

nVIDIA 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.

RAMDAC (Random Access Memory Digital-to-Analog Converter)

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

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

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.

Direct3D (D3D)

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 nVIDIA.

In March 2003, Microsoft resigned from the OpenGL Architecture Review Board (ARB), the group that governs the OpenGL standard. Clearly, Microsoft intends to focus on its Direct3D standard, although OpenGL applications are so ubiquitous that we think it unlikely that Microsoft will abandon OpenGL in the near future.

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:

PCI

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 AGP?or 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
figs/pcn3_1501.gif

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

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

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

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

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

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)

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

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)

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)

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.

Table 15-1. AGP compatibility by interface type and adapter type

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

Heed this warning. With modern PCs, there are very few cases in which installing a nondefective PC peripheral that physically fits can damage the peripheral or the system. One big exception is motherboards that use the Intel 845 or 850 chipset or the nVIDIA nFORCE chipset. Due to improper design and keying, a few AGP adapters that are actually 3.3V devices are keyed such that they can fit a 1.5V slot. Furthermore, they handle the A2 line incorrectly. The upshot is that installing one of these cards in an Intel 845, Intel 850, or nVIDIA nFORCE motherboard may destroy the AGP adapter and/or motherboard. The following AGP adapters have been reported to exhibit this problem:

  • Some nVIDIA Riva TNT2 adapters

  • All nVIDIA Vanta and Vanta LT adapters

  • All SiS 6326 and SiS 305 adapters

  • All S3 Savage4 adapters earlier than revision 3.0

  • All 3dfx Voodoo3, Voodoo4, and Voodoo5 adapters

  • Some nVIDIA GeForce2 GTS and GeForce2 Pro adapters

Note that this list may not be complete, and that the documentation that came with the adapter may have been printed before the problem came to light. Before you install any older AGP adapter in one of these motherboards, verify on the card and motherboard manufacturers' web sites that the card is compatible with the motherboard.

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:

AGP Pro connector

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.

Increased power

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.

Multiple card/multiple slot support

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.

Table 15-2. AGP Pro slot configuration

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

In addition to connection and power features, the AGP Pro Addendum 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.

See http://developer.intel.com/technology/agp/agp_index.htm for more detailed information about AGP, including AGP Pro and AGP 3.0.

AGP 8X is the last iteration of the AGP 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.htm.

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

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 resolution?e.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.

Color depth

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.

Refresh frequency

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.