Sign in with
Sign up | Sign in

2D, Acceleration, And Windows: Aren't All Graphics Cards Equal?

2D, Acceleration, And Windows: Aren't All Graphics Cards Equal?
By , Igor Wallossek

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.

Display all 156 comments.
This thread is closed for comments
Top Comments
  • 30 Hide
    fatkid35 , January 26, 2010 5:32 AM
    next, toms finds bigfoot eating a chupicabre! WTF? nice catch guys.
  • 22 Hide
    supasso , January 26, 2010 8:06 AM
    The new ATI cards throttling down pretty aggressively in 2D AKA "idle" mode to keep the power consumption low. Perhaps that's what happening here.
  • 21 Hide
    Raid3r , January 26, 2010 6:49 AM
    Indeed, way to take one for the team..I am one of those 2d workers and greatly appreciate the foot that was used to affirm the position of 2d recognition on these "new" cards. I can't say it enough.
Other Comments
  • 30 Hide
    fatkid35 , January 26, 2010 5:32 AM
    next, toms finds bigfoot eating a chupicabre! WTF? nice catch guys.
  • 4 Hide
    pcxt21 , January 26, 2010 5:39 AM
    Very nice work! Until that little update I was ready to put my old Matrox Millennium (1996/1997 I think) 2d accelerator back into my gaming rig...
  • 17 Hide
    Anonymous , January 26, 2010 5:42 AM
    For those who still remember Matrox...shouldn't that be included in the test as well? Ancient history shows that it was the best card to be paired with VooDoo when first released...:p 
  • 12 Hide
    one-shot , January 26, 2010 5:54 AM
    LOL. The clip of Steve Ballmer looks like an ad from the late Billy Mays. To think he's the CEO of Microsoft after watching that clip makes me laugh. I'm going to watch it again.
  • 0 Hide
    chookman , January 26, 2010 6:04 AM
    I actually went to put a Professional Matrox card (G550 PCI-e) in my Windows 7 machinde for a few more displays... alas it seems most of the range doesnt have Windows 7 drivers yet :( 
  • 0 Hide
    killerclick , January 26, 2010 6:14 AM
    Hey, I have GF7050 on my motherboard but I'm not using it!
  • -5 Hide
    belardo , January 26, 2010 6:21 AM
    The sad thing is, as shown was that Windows 1.0~3.0 were never an operating system, ever. 1.0~2.x we're never really used by anyone, yet Amigas and Macs had full GUI functionality since 85/84... Windows3 was at least usable, but still a single-tasking POS, and yet MS-DOS was able to dominate the computer industry... not because of talent, but because of luck, good moves by Gates & Ballmer and the stupidity of IBM. It kind of worked out anyway thou.

    Think about it, it wasn't until the tail-end of 1995, with the release of Windows95, did MS produce an actual GUI OS for the general public, 10 whole years after Apple's Mac and the Amiga by chicken lips. Atari only copied much of the hardware abilities of Amiga with a variant of a MS-DOS clone.

    Only business bought PC-Clones in the 80s~90s, paying around $1500~4000 per desktop. Since IBM didn't make the OS and the hardware was generic, it was super easy for clones to exists. Home users bought Amigas and Macs and laughed as DOS users... but in the end, they lost to the clones.

    At one time in 1990, the Computer Shopper Mag was about 500 pages (phone book) with at least 500 Clone companies advertising.

    Windows is still the Copy-Cat OS. Its still an ugly beast under the hood. At least Windows7 runs good and looks nice.
  • 21 Hide
    Raid3r , January 26, 2010 6:49 AM
    Indeed, way to take one for the team..I am one of those 2d workers and greatly appreciate the foot that was used to affirm the position of 2d recognition on these "new" cards. I can't say it enough.
  • 4 Hide
    micky_lund , January 26, 2010 7:15 AM
    woot for toms...
    catch some more massive companies out, and make them fix up their drivers
  • 3 Hide
    belardo , January 26, 2010 7:21 AM
    I just finished reading this entire article. A good one too guys.

    While I had my rant about old MS days, I did work in the PC field starting with 3.1. We'd benchmark various video cards with programs that would test lines, boxes, etc. This WAS important for some games like DOOM and Quake which were not "true" 3D cards we have today.

    For every new type of PC build or a clients computer, I would save these generic overall system benchmarks. And I *have* notice different 2D performance abilities of computers and the various cards. All super fast compared to the 90s, but I've seen a GF card perform worse than an older ATI, but also an older ATI work a bit better than a newer one. These are all WinXP and don't have anything to do with the problems of Win7 and/or DX11... Part2 isn't out yet... but I would be curious to see if the problems in Win7 happens in Vista with DX11 installed hmmm.

    ATI has been putting all their work into 3D gaming performance, its good to see that they have put a team to fix their 2D issues. There is a good chance that this is a DX11 issue they were not aware of. Since Nvidia doesn't have any DX11 parts (but a DX10.5) - this "bug" doesn't yet show... but I'm speculating of course. :) 

    With the eye-candy of Win7, the 2D performance *IS* important for those doing work, watching videos, etc. No good excuse to miss this, and hopefully ATI will have it resolved in 1-2 months.

    PS: Your memory usage chart of vista vs Win7 shows exactly WHY Vist . That is why Windows7 runs pretty good on a 1GB computer, but Vista still needs at least 3GB for a bottom-end PC. My notebook has Win7rc with 1GB, runs fine.

    Hey, will your results sometime include intel graphics? After this bug-issue is resolves, include overall-2D scores with your graphics Charts. :) 

  • 3 Hide
    sohei , January 26, 2010 8:03 AM
    good article
  • 22 Hide
    supasso , January 26, 2010 8:06 AM
    The new ATI cards throttling down pretty aggressively in 2D AKA "idle" mode to keep the power consumption low. Perhaps that's what happening here.
  • 10 Hide
    sohei , January 26, 2010 8:16 AM
    notty22 you exaggerate...if ATi has a problem with drivers in 2d, what about nvidia with new drivers ? no over-clocking...you know that?

    pls read more than talk
  • 0 Hide
    eddieroolz , January 26, 2010 8:22 AM
    Reading it at 2:20am, it was hard to grasp every part of the article but it did arouse my mind a bit :p  But good job to you guys!

    Now back to programming in C xD
  • 16 Hide
    mitch074 , January 26, 2010 8:38 AM
    @supasso: even throttled down, current cards far exceed the capabilities of older 2D cards; the problem is that, if an operation is badly optimized, it can slow down even the most powerful system to a crawl, by requiring thousands of CPU cycles and as many sleep() cycles, to perform something that, on said older hardware, would take a few cycles at best.

    One good area to look at here, is the Linux world. Why is it relevant?
    - dixit an AMD engineer, 90% of the Linux driver code is common with Windows'. That includes 2D, video and OpenGL.
    - there are two (well three, but this is not really relevant here) Ati card drivers for R600/700 cards: one (proprietary, very close to Windows) from AMD, one (FOSS, based on AMD documents and reverse engineering) from the Xorg development team.

    Benchmarking those in 2D (say, with X's own benches and GNOME's) shows that the
    FOSS driver is around 4 times (and in some cases, 100x) faster than AMD's driver on purely 2D operations - showing that, indeed, AMD's driver needs a kick in the arse to push windows around.

    Please note that Xorg does also provide purely 2D (EXA+Render) and 2.5D (EXA+Composite) modes. enabling Composite on AMD's driver causes it to slow down across the range, while it actually improves things on the Free driver when used with a compositing ('like Aero', although it actually came out before) window manager - and a GPU that is at least level with a Radeon 9500.

    Please note that the very same thing happens with Nvidia hardware, eventhough Nvidia seems to have done a slightly better job at supporting 2.5D (the difference between Nouveau and the Nvidia blob is less apparent).
  • 5 Hide
    dimitrik , January 26, 2010 8:43 AM
    Excellent article and about time 2D got some attention. The amount of emphasis on 3D graphics in the majority of technology media is insane given that gamers are hardly a majority among mainstream users. Clearly this extreme emphasis on gaming has finally led to the "core" features being neglected by the vendors!
  • 7 Hide
    haplo602 , January 26, 2010 8:44 AM
    Same but worse situation is with ATI linux drivers. Their 2d part is horribly bad even compared to the OSS X11 drivers. I just hope that by fixing the 2d in Windows, they will get to fix 2d in Linux as well.
  • 0 Hide
    Anonymous , January 26, 2010 9:08 AM
    Wouldn't this benchmark be better suited using Direct2D instead of the long-since-deprecated GDI? You should get performance improvements for all of the graphics cards that way. I did some checking and it seems that at least since Vista, the main GUI/window manager has been using DirectX, not GDI. Someone brought up the issue of vector drawing programs like Inkscape (GTK), but I don't know what those use.

    Here is a 2008 article espousing Direct2D over GDI/GDI+:
    http://www.maximumpc.com/article/news/gdigdi_move_over_microsoft_introduces_direct2d

    @Belardo

    Both Windows 3.x and Mac OS 9 & earlier were cooperative multi-tasking OSes, and thus suffered the same fatal flaw. Windows 9x offered preemptive multi-tasking and memory protection (and management), whereas Mac OS 9 & earlier all had such poor protection that any program could easily read/write any other programs memory space intentionally and accidentally. Prior to the MultiFinder's creation in 1988 (OS 5), there was no multitasking at all, and the Desk Accessories had to be written using drivers to emulate it. That's the reason Mac OS X was created; all the previous versions were such utterly irredeemable, insecure, unreliable pieces of shit, they had to start almost from scratch.

    I don't know what an "actual GUI OS" is in your mind, but it doesn't seem like Mac OS classic qualified by your own standards. OSes can run within OSes, and I don't just mean emulating hardware running a "full OS," but rather the definition of an OS doesn't require that it be capable of running completely on its own. This why some research and student OSes are made to run on top of pre-existing ones.

    The way I see it, Windows 3.x was like a powerful DOS extender (DOS4GW is an example of a dos extender that many games used albeit 32-bit) that added a graphics subsystem, cooperative multi-tasking, and ran in 16-bit protected mode (DOS ran in real mode).
Display more comments