Download the Tom's Hardware App from the App Store
The reference for current tech news
Yes No
Signin with

2.5D: The Myth Of 2D Hardware Acceleration

by

Dedicated graphics cards first became must-haves in a purely two-dimensional realm. It’s no secret that these boards still deliver excellent performance today when it comes to handling complex rendering tasks. Even so, these old cards slow to a crawl in everyday use, especially when it comes to rendering complex graphics effects associated with the latest versions of Windows. On the one hand, this stems from the graphical complexity of modern Windows user interfaces, and on the other, from limited graphical functionality. Let’s tackle these elements, one at a time…

2D Acceleration for Drawing Functions

This section applies to that part of 2D graphics acceleration related to native rendering of graphics output, from GDI through the graphics card itself. This includes simple geometric objects like pixels, lines, curves, polygons, rectangles, and ellipses on the one hand, and their scaling, rendering, or font-smoothing operations (like TrueType or OpenType) on the other.

Early support for hardware acceleration of so-called “2D primitives” in graphics cards is gone, and has been missing from consumer-grade products for some time now. Today, acceleration of two-dimensional graphics functions comes as an analog to three-dimensional acceleration, but is handled solely and completely by graphics driver software rather than on-board hardware.

In the second part of this story, we will introduce and explain a benchmark test that we developed especially for two-dimensional graphics, which tests key and fundamental 2D graphics functions thoroughly. Furthermore, this benchmark shows that driver software exercises blatant and unexpected influence over 2D graphics. We also present a small selection of nine overall test criteria as well.

Text display Rectangles   Curves

2.5D Acceleration of GUI Displays

Translation of drawing functions is only a part of two-dimensional acceleration. A noticeable and perceptibly positive acceleration is available from current 3D graphics cards that can render, manage, and display 2.5D graphics information in hardware.

Everything gets rendered immediately

How does this work? As with 3D displays, both visible and obscured portions of window regions are rendered and stored in their entirety as virtual rectangular regions, and represent a real-time view of the contents for all active windows. Thus, nothing needs to be recalculated when windows move or change; only what was formerly obscured and is now visible needs to be drawn, along with anything that’s changed since the last refresh. The graphics card always knows the size and position of the virtual rectangles represented as windows. Using the "depth buffer" (Z-buffer), the card keeps track of the order and display priority for windows or objects on display (also known as the Z-order). Thus, the graphics card can decide what’s visible and what needs to be rendered on-screen all by itself.

Let’s summarize (and emphasize) what this means:

Current 2D hardware acceleration includes both the implementation of key 2D drawing functions as well as the implementation of 2.5D layering techniques for windows and user interface display.

It would be downright exhausting to examine each and every known Windows version in further detail. Because the current problems that led us to perform these benchmarks occur only with Windows 7, we restricted our testing to Windows XP, Vista, and naturally also, Windows 7 as well.

Share:
156
Comments
X
Submit

Comments
fatkid35 01/26/2010 5:32 AM
Hide
-20+

next, toms finds bigfoot eating a chupicabre! WTF? nice catch guys.

pcxt21 01/26/2010 5:39 AM
Hide
-4+

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...

anonymous 01/26/2010 5:42 AM
Hide
-17+

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

one-shot 01/26/2010 5:54 AM
Hide
-12+

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.

chookman 01/26/2010 6:04 AM
Hide
-0+

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 :(

killerclick 01/26/2010 6:14 AM
Hide
-0+

Hey, I have GF7050 on my motherboard but I'm not using it!

belardo 01/26/2010 6:21 AM
Show
Raid3r 01/26/2010 6:49 AM
Hide
-20+

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.

micky_lund 01/26/2010 7:15 AM
Hide
-4+

woot for toms...
catch some more massive companies out, and make them fix up their drivers

belardo 01/26/2010 7:21 AM
Hide
-3+

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. :)

notty22 01/26/2010 7:22 AM
Show
BartG 01/26/2010 7:56 AM
Show
sohei 01/26/2010 8:03 AM
Hide
-3+

good article

supasso 01/26/2010 8:06 AM
Hide
-20+

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.

sohei 01/26/2010 8:16 AM
Hide
-10+

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

eddieroolz 01/26/2010 8:22 AM
Hide
-0+

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

mitch074 01/26/2010 8:38 AM
Hide
-16+

@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).

dimitrik 01/26/2010 8:43 AM
Hide
-5+

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!

haplo602 01/26/2010 8:44 AM
Hide
-7+

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.

Best offers

All about Graphics Cards
 Graphics Cards performance charts
All Graphics Cards charts

Newsletters


OK