Home > Articles > Hardware > Upgrading & Repairing

Upgrading and Repairing PCs Tip #12: How 3D Accelerators Work

  • Print
  • + Share This
In this excerpt from the 22nd edition of Scott Mueller's Upgrading and Repairing PCs, Scott discusses the evolution and optimization of 3D graphics on your computer.

Find more tips from Upgrading and Repairing PCs here.

From the book

To construct an animated 3D sequence, a computer can mathematically animate the sequences between keyframes. A keyframe identifies a specific point. A bouncing ball, for example, can have three keyframes: up, down, and up. Using these frames as reference points, the computer can create all the interim images between the top and bottom. This creates the effect of a smoothly bouncing ball.

After it has created the basic sequence, the system can then refine the appearance of the images by filling them in with color. The most primitive and least effective fill method is called flat shading, in which a shape is simply filled with a solid color. Gouraud shading, a slightly more effective technique, involves the assignment of colors to specific points on a shape. The points are then joined using a smooth gradient between the colors.

A more processor-intensive (and much more effective) type of fill is called texture mapping. The 3D application includes patterns—or textures—in the form of small bitmaps that it tiles onto the shapes in the image, just as you can tile a small bitmap to form the wallpaper for your Windows desktop. The primary difference is that the 3D application can modify the appearance of each tile by applying perspective and shading to achieve 3D effects. When lighting effects that simulate fog, glare, directional shadows, and others are added, the 3D animation comes close indeed to matching reality.

Until the late 1990s, 3D applications had to rely on support from software routines to convert these abstractions into live images. This placed a heavy burden on the system processor in the PC, which has a significant impact on the performance not only of the visual display, but also of any other applications the computer might be running. Starting in the period from 1996 to 1997, chipsets on most video adapters began to take on many of the tasks involved in rendering 3D images, greatly lessening the load on the system processor and boosting overall system performance.

There have been roughly 14 generations of 3D graphics hardware on PCs, a process that has lasted almost 20 years, as detailed in Table 11.17.

Table 11.17 Brief History of 3D Acceleration

Generation

Dates

Technologies

Example Product/Chipset

1st

1996–1997

3D PCI card with passthrough to 2D graphics card; OpenGL and GLIDE APIs

3dfx Voodoo

2nd

1997–1998

2D/3D PCI card

ATI Rage, NVIDIA RIVA 128

3rd

1999

2D/3D AGP 1x/2x card

3dfx Voodoo 3, ATI Rage Pro, NVIDIA TnT2

4th

1999–2000

DirectX 7 API, AGP 4x

NVIDIA GeForce 256, ATI Radeon

5th

2001

DirectX 8 API, programmable vertex and pixel shaders

NVIDIA GeForce 3, NVIDIA GeForce 4 Ti

6th

2001–2002

DirectX 8.1 API

ATI Radeon 8500, ATI Radeon 9000

7th

2002–2003

DirectX 9 API, AGP 8x

ATI Radeon 9700, NVIDIA GeForce FX 5900

8th

2004–2005

PCIe, DirectX 9.0c

ATI X800, NVIDIA GeForce 6800

9th

2004–2006

Dual-GPU rendering with PCIe x8, x16, OpenGL 2.x

ATI X1900, NVIDIA GeForce 7800; ATI CrossFire, NVIDIA SLI motherboard chipsets and compatible cards

10th

2007–2008

DirectX 10, Windows Vista

ATI HD 2xxx–4xxx, NVIDIA GeForce 8–9 series

11th

2009–2010

DirectX 11, OpenGL 3.x, OpenCL 1.1, Windows 7

AMD Radeon HD 5xxx–6xxx, NVIDIA GeForce 2xx–5xx series

12th

2010–2012

DirectX 11.1,OpenGL 4.1–4.2, Windows 8

AMD Radeon HD 7xxx, NVIDIA GTX 4xx-6xx series

13th

2013

DirectX 11.2, Windows 8.1, OpenGL 4.3–4.4, OpenCL 1.2, AMD Mantle

AMD Radeon HD 8xxx series, NVIDIA GTX 9xx

14th

2014–2015

DirectX 12, OpenGL 4.5, OpenCL 2.0

AMD Radeon R5,R7, R9

With every recent graphics card on the market featuring DirectX 11 or greater capabilities, you don’t need to spend a fortune to achieve a reasonable level of 3D graphics. Many cards in the $100–$200 range use lower-performance variants of current high-end GPUs, or they might use the previous year’s leading GPU. These cards typically provide more-than-adequate performance for 2D business applications. All current 3D accelerators also support dual-display and TV-out or HDTV capabilities, enabling you to work and play at the same time.

However, keep in mind that the more you spend on a 3D accelerator card, the greater the onboard memory and the faster the accelerator chip you can enjoy. If money is no object, you can buy a graphics card featuring the currently fastest GPU for more than $500. Fortunately, there are many choices using either NVIDIA or AMD GPUs in the less than $500 price range that offer plenty of 3D gaming performance, including support for dual-GPU operations (NVIDIA SLI or AMD CrossFire), which split rendering chores across the GPUs in both video cards for faster game display than with a single card. GPUs that support DirectX 11 or greater are the preferred choice for anyone who wants to play current generation games.

Mid-range cards costing $200–$300 are often based on GPUs that use designs similar to the high-end products but might have slower memory and core clock speeds or a smaller number of rendering pipelines. These cards provide a good middle ground for users who play games fairly often but can’t cost-justify high-end cards. Cards under $100 are best used for low-cost replacements for chipset-integrated video. These cards typically have performance that is no better than that available from current CPU-integrated video.

The basic function of 3D software is to convert image abstractions into the fully realized images that are then displayed on the monitor. The image abstractions typically consist of the following elements:

  • Vertices—Locations of objects in three-dimensional space, described in terms of their x, y, and z coordinates on three axes representing height, width, and depth.
  • Primitives—The simple geometric objects the application uses to create more complex constructions, described in terms of the relative locations of their vertices. This serves not only to specify the location of the object in the 2D image, but also to provide perspective because the three axes can define any location in three-dimensional space.
  • Textures—Two-dimensional bitmap images or surfaces designed to be mapped onto primitives. The software enhances the 3D effect by modifying the appearance of the textures, depending on the location and attitude of the primitive. This process is called perspective correction. Some applications use another process, called MIP mapping, that uses different versions of the same texture containing varying amounts of detail, depending on how close the object is to the viewer in the three-dimensional space. Another technique, called depth cueing, reduces the color and intensity of an object’s fill as the object moves farther away from the viewer.

Using these elements, the abstract image descriptions must then be rendered, meaning they are converted to visible form. Rendering depends on two standardized functions that convert the abstractions into the completed image that is displayed onscreen. The standard functions performed in rendering are as follows:

  • Geometry—The sizing, orienting, and moving of primitives in space and the calculation of the effects produced by the virtual light sources that illuminate the image
  • Rasterization—The converting of primitives into pixels on the video display by filling the shapes with properly illuminated shading, textures, or a combination of the two

A modern video adapter that includes a chipset capable of 3D video acceleration has special built-in hardware that can perform the rasterization process much more quickly than if it were done by software (using the system processor) alone. Most chipsets with 3D acceleration perform the following rasterization functions right on the adapter:

  • Scan conversion—The determination of which onscreen pixels fall into the space delineated by each primitive
  • Shading—The process of filling pixels with smoothly flowing color using the flat or Gouraud shading technique
  • Texture mapping—The process of filling pixels with images derived from a 2D sample picture or surface image
  • Visible surface determination—The identification of which pixels in a scene are obscured by other objects closer to the viewer in three-dimensional space
  • Animation—The process of switching rapidly and cleanly to successive frames of motion sequences
  • Antialiasing—The process of adjusting color boundaries to smooth edges on rendered objects

Software Optimization

It’s important to realize that the presence of an advanced 3D-rendering feature on any given video card is meaningless unless game and application software designers optimize their software to take advantage of the feature. Although various 3D standards exist (OpenGL and DirectX), video card makers provide drivers that make their games play with the leading standards. Because some cards do play better with certain games, you should read the reviews in publications and websites to see how your favorite graphics card performs with them. Typically, it can take several months or longer after a new version of DirectX or OpenGL is introduced before 3D games take full advantage of the 3D rendering features provided by the new application programming interface (API).

Some video cards allow you to perform additional optimization by adjusting settings for OpenGL, Direct 3D, voltages, and bus clock speeds, as well as other options. Note that the bare-bones 3D graphics card drivers provided as part of Microsoft Windows usually don’t provide these dialog boxes. Be sure to use the drivers provided with the graphics card or download updated versions from the graphics card or GPU vendor’s website.

  • + Share This
  • 🔖 Save To Your Account