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

Windows XP: Old School 2D And The Limits of WM_PAINT

Say what you want about Windows XP, but the hardware acceleration of GDI works flawlessly to this very day, and is more than enough for many types of applications. What XP cannot do, however, is convey 2.5D layer techniques onto modern 3D graphics cards. As described in the preceding section, rendering of window contents occurs directly from the applications themselves.

A typical 2D application, for which nobody buys an expensive graphics card

This limitation won’t bother those who concentrate their efforts on any single desktop application window. The most typical application of such technology occurs in SDI (single device interface) runtime environments. But things get a little more uncomfortable when many windows are open and visible on the desktop. Who wouldn’t be glad to adopt an improved layering technique that supports menus, better device performance, and enhanced handling of windows on multiple monitors? Who wouldn’t want to leave window blur or repeat effects behind, and realize better 2D graphics performance?

Windows as card games: Repeat effects running XP

Although pure 2D performance from vector drawing programs such as Corel Draw or CAD applications work well enough (ironically enough, because hardware acceleration of GDI functions isn’t supported), we run smack into the limitations of WM_PAINT’s capabilities. When the XP GUI gets overloaded with animations, soft shadows, transparent windows, and other graphical elements, it pushes the limits of what its 2D graphics can handle.

WM_Paint hangs or updates only sporadically, when the system runs under heavy load. Redraw events must wait in line for their turn at processing.

Many users discovered that it’s best to display windows only in outline form when moving them around, and skipping animated menus altogether. In general, conserving graphical resources proves to be a good philosophy on the XP desktop. Unfortunately, many snazzy graphics themes quickly found their way into the bit bucket once the initial euphoria of the operating system's launch blew over, as systems lost their ability to render everything without errors or significant delays.

Microsoft quickly noticed that its 2D graphics solution, which it included with all Windows versions up until and including XP, needed to be replaced. Likewise, the increasing availability of ever-faster 3D graphics cards, along with steadily decreasing prices for discrete GPUs, made it clear that times (and systems) were changing.

Typical example of a 3D graphics card in 2005: The Radeon X1800

At this point, it’s also important to note that hardware acceleration in XP didn’t work with the native resolutions available from ATI's 780G onboard graphics, either. The result was windows that'd appear slowly, affecting even basic Web browsing performance. Subsequent driver revisions helped alleviate those issues. But even today, the 780G still doesn’t run optimally, in stark contrast to the 740G. But now that XP is fading into obscurity, perhaps this digression should do the same...

Next up comes Windows Vista, which is perhaps Microsoft’s most polarizing operating system (along with Windows ME). Regardless of whether you love or hate Vista, it was no longer possible to delay certain technical advances any longer.

Summary

  • 2D Hardware acceleration works flawlessly for GDI commands
  • No hardware acceleration for 2.5D layer capabilities, resulting in a slow user interface
  • Repeated redrawing of changed window contents costs time, and affects performance
  • fatkid35
    next, toms finds bigfoot eating a chupicabre! WTF? nice catch guys.
    Reply
  • pcxt21
    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...
    Reply
  • 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
    Reply
  • one-shot
    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.
    Reply
  • chookman
    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 :(
    Reply
  • killerclick
    Hey, I have GF7050 on my motherboard but I'm not using it!
    Reply
  • belardo
    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.
    Reply
  • Raid3r
    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.
    Reply
  • micky_lund
    woot for toms...
    catch some more massive companies out, and make them fix up their drivers
    Reply
  • belardo
    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. :)

    Reply