Part 1: Laying A Theoretical Background

Update (1/26/2010): Since the original publication of this story on Tom's Hardware DE, we've shared our findings and benchmark binary with AMD for analysis. The company's commentary is included in our conclusion.

Intro: Aren't All Graphics Cards Equal When It Come To 2D?

Since the launch of Windows 7 a few months ago, graphics card vendors have introduced a handful of new GPUs, working to develop and roll out drivers for their products. Enough time has also passed for them to clean up the teething pains of a fresh operating system (which have been, thankfully, significantly less painful than what we saw during the move to Vista), enabling objective benchmarks on a clean slate of new technology.

We also realized that, while 3D takes center stage nowadays, there might also be some benefits for us to revisit a component of graphics that we take for granted every day without really thinking too much about it—namely, 2D. This wasn't one of those out-of-the-blue "let's add something to the test suite that hasn't been a real issue since the days when RAMDAC performance was a major differentiator" moments. More on this shortly.

Although the primary area of interest for most users is on the display speed of the Windows GUI (where Windows 7 earns lots of praise in comparison to Vista), we determined somewhat reluctantly that the supposed “graphics refresh” in Windows 7 isn’t really too fresh at all. Compared to Windows XP (and even Vista), graphics card vendors don't seem to have fully optimized for 2D graphics in Windows 7 quite yet, at least when it comes to close examination of the brand new implementation of GDI (Graphics Device Interface) API calls. What we know as 2D graphics consist of more than cool colors, object blending effects, and animated menus with drop shadows; they also require developers to get down and dirty with pixels, lines, curves, rectangles, polygons, and all kinds of other “graphics primitives,” as they’re sometimes called.

Important Preliminary Note

We wanted to stay away from emotional overtones in this article, even though devoted occupants of the red or green camps might need to rub their eyes as they read through this material. Because we ourselves didn’t want to believe the results of our own tests, we took extra time and care in this story’s preparation, in the interests of all affected parties, to produce results that are as objective and defensible as possible. We also worked hard to create the most objective possible bases for comparing graphics cards against one another. We will also avoid pointing fingers: rather, it’s important to understand this article as a contribution and an aid to those users who not only use their PCs for gaming, but also for those who use their PCs to get real work done.

In this context, it’s important to observe that, currently, it can be quite vexing to work productively with 2D graphics in Windows 7. For example, using a Radeon HD 5870 and the latest drivers, we found it difficult to produce simple vector-based graphics, to render simple or complex CAD designs, or even to play 2D games in higher graphics quality modes. We mention this not as a criticism, but instead as an approach to a definite problem that we sought to analyze and understand as fully as possible.

Theory and Practice

Because most readers are likely unaware of the built-in functions and behavior of 2D acceleration in Windows XP through Windows 7, we’ve broken this extremely comprehensive article into two parts. In this first part, we will convey the noteworthy background and technical topics relevant to 2D graphics, so that when readers graduate to the second part, they’ll not only be able to understand our tests, but also be better-equipped to interpret our results. To help this process along, we even developed our own small benchmarking program (and will make it available for interested parties to download and use for themselves). Our goal is to make both parts as informative, readable, and noteworthy as possible.

In the next section, we’ll tackle 2D basics. In passing, we’d also like to observe that a little background in this area won’t hurt anybody, and may even come in handy for other things besides understanding our benchmarks.