Team LiB   Previous Section   Next Section

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 the 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 had depth. For example, when you play a 3D computer game, an on-screen 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.

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 '90s, 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 like animation and video production. As 3D applications (particularly games) became more common, old-line 2D manufacturers like 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 like 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 like 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. Our venerable Matrox Millennium II adapters, for example, 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 graphic 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 mainstream 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 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 typically 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 below, and continued to be used until mid-2000 in some of the least expensive video adapters. Nowadays, inexpensive PCI and AGP video adapters use SDRAM. About the only place EDO is used is in obsolete ISA and VLB adapters, which are becoming hard to find.

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 SDRAM and SGRAM, described below.

WRAM (Windows RAM)

WRAM, first introduced by Matrox with their Millennium 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 SDRAM and SGRAM.

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 used in most current low-end and midrange video adapters. SDRAM is now sometimes described as Single Data Rate SDRAM (SDR-SDRAM) to differentiate it from DDR-SDRAM. Any video adapter you buy today should use either SDRAM or the superior DDR-SDRAM, described below.

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

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 to 1,600 MB/s at 100 MHz or 2100+ MB/s at 133 MHz. DDR-SDRAM was first used in expensive video adapters, but has since trickled down to midrange adapters. Because DDR-SDRAM costs very little more than SDR-SDRAM, we expect that throughout 2002 an increasing number of low-end video adapters will begin shipping with DDR-SDRAM.

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 that differ only in the speeds of the RAMDAC and in the type and amount of memory installed. The faster versions, often described as "Ultra" or "Max," 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 can 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 and 8.0, and applications that support only D3D are no longer at a significant disadvantage relative to those that support OpenGL and/or proprietary APIs. D3D and OpenGL may eventually merge. Fahrenheit, a joint initiative between Microsoft and SGI, was originally intended to result in a unified standard, but has since become moribund. Some elements of Fahrenheit are already in place, however, and many enhancements planned for Fahrenheit have been incorporated in later releases of D3D.

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.

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, both shown in Figure 15-1.

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 runs at 66 MHz and standard 1X AGP transfers 32 bits per clock cycle, 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. There is an AGP 8X standard currently in development that will double throughput again, but AGP 8X is unlikely to become a factor for the next year or more.

The AGP bus has two other throughput advantages relative to PCI. First, AGP supports pipelining, which allows it to sustain throughput at 80% of theoretical, and 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 graphic elements in main memory. In practice, DIME is of little real benefit, because most high-end video adapters (PCI or AGP) are equipped with enough memory (16 MB to 128 MB) 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.

Figure 15-1. An AGP slot with two PCI slots below it
figs/pcn2_1501.gif

In short, for now at least, AGP remains a solution in search of a problem, particular 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/98SE/Me, Windows 2000/XP, and of course Linux have operating system support for AGP.

AGP is the best choice if your motherboard has an AGP slot. AGP adapters generally sell for no more than equivalent PCI adapters, and often less. Also, as the sales volume of PCI cards increasingly declines, manufacturers concentrate their efforts on AGP cards, which means the latest video chipsets and other features are available only on AGP versions.

1X AGP cards are no longer sold and should be avoided, not because they are slower than 2X or 4X AGP cards, but because they use obsolete graphics processors and have functional and feature limitations. In fact, many 1X AGP cards were just PCI cards with an AGP interface substituted for PCI, and did not support AGP features. Although 2X AGP is more than fast enough to keep up with current systems, most current cards are produced only in 4X AGP versions. So, although there's nothing wrong with 4X AGP, neither does it make sense to pay extra for 4X AGP if an otherwise suitable 2X AGP card is available. You may have little choice but to buy AGP, however, and 4X AGP at that. Video card makers have largely abandoned PCI in favor of AGP and 2X AGP in favor of 4X AGP for their latest adapters.

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, although 2X is acceptable. 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 a year or two ago, when competent PCI video adapters were still widely available, but it is a problem now that many manufacturers have discontinued or cut back their PCI lines.

15.1.3.1 AGP Interfaces and Signaling Voltages

AGP adapters and interfaces operate at two voltages, 3.3V and 1.5V. 1X and 2X AGP adapters are available in 3.3V and 1.5V versions. 4X AGP adapters are 1.5V only. Motherboards may have one of five types of AGP interfaces, shown in the left column of Table 15-1, which summarizes the compatibility issues of AGP interfaces and adapters.

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

1.5V AGP Adapter

   

3.3V AGP Adapter

 

Interface type

1X-capable

2X-capable

4X-capable

1X-capable

2X-capable

1.5V 2X-capable

figs/blackdot.gif

figs/blackdot.gif

2X only

figs/whitedot.gif

figs/whitedot.gif

1.5V 4X-capable

figs/blackdot.gif

figs/blackdot.gif

figs/blackdot.gif

figs/whitedot.gif

figs/whitedot.gif

3.3V 2X-capable

figs/whitedot.gif

figs/whitedot.gif

figs/whitedot.gif

figs/blackdot.gif

figs/blackdot.gif

Universal 2X-capable

figs/blackdot.gif

figs/blackdot.gif

2X only

figs/blackdot.gif

figs/blackdot.gif

Universal 4X-capable

figs/blackdot.gif

figs/blackdot.gif

figs/blackdot.gif

figs/blackdot.gif

figs/blackdot.gif

When you are installing an AGP adapter, remember the following points:

  • 1.5V AGP interfaces support only 1X, 2X, or 4X 1.5V AGP adapters, and are physically keyed to prevent installing a 3.3V AGP adapter.

  • 3.3V AGP interfaces support only 1X or 2X 3.3V AGP adapters, and are physically keyed to prevent installing a 1.5V AGP adapter.

  • Universal AGP interfaces support 1.5V and 3.3V AGP adapters interchangeably. The motherboard detects the voltage required by the installed card according to the status of AGP pin A2 (TYPEDET#). 3.3V AGP adapters leave pin A2 open. 1.5V AGP adapters short pin A2 to ground.

  • A 1.5V 2X-capable AGP slot or a Universal 2X-capable AGP slot can accept a 4X AGP adapter, but runs the adapter at 2X.

Heed this warning. With modern PCs, there are very few cases in which installing a non-defective 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 only be 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.

See http://developer.intel.com/technology/agp/agp_index.htm for more detailed information about AGP, including AGP Pro. For more information about AGP 8X, see http://developer.intel.com/technology/agp/agp_draft9.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 640 x 480 resolution. Video cards do not support continuously variable resolution, but instead provide standard "prepackaged" combinations of vertical and horizontal resolution, e.g., 1024 x 768. Using higher resolution permits more information to be displayed. Also, for any given size of an object on-screen, 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 like visual acuity.

Color depth

A pixel, also called a pel or picture element, is the smallest individually addressable display element, and comprises three sub-units, 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 common-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" monitors running 800 x 600; 75 to 85 Hz on 17" monitors running 1024 x 768; and 85 Hz or higher on 19" and larger monitors running 1280 x 1024 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 therefore 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. Table 15-3 lists the amount of video memory required to support various combinations of resolution and color depth in 2D mode.

Table 15-3. Video memory required for standard resolution and color depth in 2D mode

Resolution

BPP

Colors

1 MB

2 MB

4 MB

8 MB

640 X 480

8

256

figs/blackdot.gif

figs/blackdot.gif

figs/blackdot.gif

figs/blackdot.gif

640 X 480

16

64 K

figs/blackdot.gif

figs/blackdot.gif

figs/blackdot.gif

figs/blackdot.gif

640 X 480

24

16 M

figs/blackdot.gif

figs/blackdot.gif

figs/blackdot.gif

figs/blackdot.gif

640 X 480

32

16 M

figs/whitedot.gif

figs/blackdot.gif

figs/blackdot.gif

figs/blackdot.gif

800 X 600

8

256

figs/blackdot.gif

figs/blackdot.gif

figs/blackdot.gif

figs/blackdot.gif

800 X 600

16

64 K

figs/blackdot.gif

figs/blackdot.gif

figs/blackdot.gif

figs/blackdot.gif

800 X 600

24

16 M

figs/whitedot.gif

figs/blackdot.gif

figs/blackdot.gif

figs/blackdot.gif

800 X 600

32

16 M

figs/whitedot.gif

figs/blackdot.gif

figs/blackdot.gif

figs/blackdot.gif

1024 X 768

8

256

figs/blackdot.gif

figs/blackdot.gif

figs/blackdot.gif

figs/blackdot.gif

1024 X 768

16

64 K

figs/whitedot.gif

figs/blackdot.gif

figs/blackdot.gif

figs/blackdot.gif

1024 X 768

24

16 M

figs/whitedot.gif

figs/whitedot.gif

figs/blackdot.gif

figs/blackdot.gif

1024 X 768

32

16 M

figs/whitedot.gif

figs/whitedot.gif

figs/blackdot.gif

figs/blackdot.gif

1152 X 864

8

256

figs/blackdot.gif

figs/blackdot.gif

figs/blackdot.gif

figs/blackdot.gif

1152 X 864

16

64 K

figs/whitedot.gif

figs/blackdot.gif

figs/blackdot.gif

figs/blackdot.gif

1152 X 864

24

16 M

figs/whitedot.gif

figs/whitedot.gif

figs/blackdot.gif

figs/blackdot.gif

1152 X 864

32

16 M

figs/whitedot.gif

figs/whitedot.gif

figs/blackdot.gif

figs/blackdot.gif

1280 X 1024

8

256

figs/whitedot.gif

figs/blackdot.gif

figs/blackdot.gif

figs/blackdot.gif

1280 X 1024

16

64 K

figs/whitedot.gif

figs/whitedot.gif

figs/blackdot.gif

figs/blackdot.gif

1280 X 1024

24

16 M

figs/whitedot.gif

figs/whitedot.gif

figs/blackdot.gif

figs/blackdot.gif

1280 X 1024

32

16 M

figs/whitedot.gif

figs/whitedot.gif

figs/blackdot.gif

figs/blackdot.gif

1600 X 1200

8

256

figs/whitedot.gif

figs/blackdot.gif

figs/blackdot.gif

figs/blackdot.gif

1600 X 1200

16

64 K

figs/whitedot.gif

figs/whitedot.gif

figs/blackdot.gif

figs/blackdot.gif

1600 X 1200

24

16 M

figs/whitedot.gif

figs/whitedot.gif

figs/whitedot.gif

figs/blackdot.gif

1600 X 1200

32

16 M

figs/whitedot.gif

figs/whitedot.gif

figs/whitedot.gif

figs/blackdot.gif

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/sec. Operating in 2D mode, that adapter supports 1024 x 768 resolution at 24 bits/pixel (BPP) and 85 Hz refresh. With those settings, the video adapter processes (1024 x 76824BPP x 85 Hz=200,540,160 bytes/sec), well within the RAMDAC limits. Increasing resolution to 1152 x 864 requires (1152 x 864 x 24BPP x 85 Hz = 253,808,640 bytes/sec), 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/sec), 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/sec). 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 800 x 600 resolution at 16BPP and 78 Hz (800 x 600 x 16BPP x 78 Hz x 3 planes = 224,640,000 bytes/sec). 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 1024 x 768 than at 800 x 600, 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.

    Team LiB   Previous Section   Next Section