Geek 101: A Graphics Card Primer
We all know that the GPU in modern computers is essentially responsible for everything you see on your screen. Both Windows Vista and 7 can use the GPU to render the desktop, taking advantage of 3D acceleration features to provide smooth window movement, transparency, and other visual effects. Naturally, the 3D graphics in games, educational titles, and such are all rendered by the GPU.
Modern GPUs even have special video processing units that decode, scale, and de-interlace the most popular video formats, improving quality and reducing CPU load and power consumption. GPUs are even starting to be used as highly parallel processors to do certain very math-heavy tasks much faster than the CPU, though this technology is in its infancy.
But beyond that, it gets a little confusing. There are dozens of brand names and model numbers out there, and a whole alphabet soup of buzzwords and acronyms that seem specifically designed to confuse the average customer. Let's discuss some common graphics-related terms and what you should look for when shopping for a graphics card (or choosing which graphics card should be in your next computer or notebook).
Nvidia, ATI, and Intel
Today, there are three major players in the graphics market. There's Nvidia, a company that focuses almost entirely on graphics products. A few years ago the CPU and chipset maker AMD bought Canadian graphics developer and Nvidia competitor ATI. You'll still see the ATI brand quite often; AMD kept it around for their graphics division. Finally there's Intel, which currently only makes integrated graphics products built into the motherboard chipsets for their processors.
Soon, Intel will start shipping processors with graphics integrated right into the CPU. There are other graphics companies out there, but they either focus on devices like cell phones or have such a tiny piece of the market that they're not worth bringing up.
Which one should you use? This is a point of much contention among graphics fans and gamers. To be honest, Nvidia and ATI/AMD both make excellent products and have drivers that are, on the whole and over time, roughly comparable in terms of stability. If you want a discrete graphics card, you should pick whichever one is best at the price you want.
Intel's integrated graphics is what you get when you don't make a choice, basically. Though it has improved greatly over the years, it is still slower than the integrated graphics options from Nvidia and ATI, and far slower than discrete graphics solutions.
DirectX is an API (Application Programming Interface--a set of conventions and abstractions that let programmers control a piece of hardware like a GPU). DirectX actually contains lots of pieces to deal with things like audio and such, but the part that deals with 3D graphics is called Direct3D.
On Windows, DirectX is by far the most common way that games make use of the GPU, but because it comes from Microsoft and makes use of the Windows driver stack, it's only on Windows. Windows Vista and 7 support DirectX 10.1 as the latest version, and DirectX 11 is coming to both Windows 7 and Vista very soon. With it comes a few exciting new features. We'll get to that in a minute.
If you're not on Windows, odds are that programmers are accessing 3D hardware through an API called OpenGL.
This standard graphics API is controlled by a collaborative entity called the Khronos Group, which has members from lots of big software and hardware makers. OpenGL is available and used on Windows (in fact, the newest version of Photoshop uses it for GPU acceleration), but it isn't as common as Direct3D. These days, all modern GPUs (discrete and integrated) provide both OpenGL and DirectX drivers.
Remember when I mentioned that GPUs can be used for general computing (like video format conversions, heavy scientific calculations, and such)? Well, OpenCL is a standardized way of doing this. An OpenCL program can run on and be accelerated by the GPU, regardless of who the GPU manufacturer is. It's a brand new standard, appearing in both Apple's new Snow Leopard OS and Windows (XP, Vista, and 7).
Neither Nvidia nor ATI have real, final, public OpenCL drivers yet. This is a technology that is in its infancy, but should grow rapidly. Robust OpenCL support and good performance will probably be a real selling point in the next year or two.