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

Page 5 - Seeking answers? Join the Tom's Hardware community: where nearly two million members share solutions and discuss the latest tech.
Status
Not open for further replies.

brisingamen

Distinguished
Feb 3, 2009
201
0
18,680
atleast ati's image quality is better despite the unoptimised drivers.

nvidia's colours look washed out.

2d potential with the 5870 hardware is actually awsome8.

i actually cant wait for the next driver release

the site manager or whoever runs this site needs to start leashing thier writers who lack hardware forsight, this article is a blow below the belt.
 

NTZeek

Distinguished
Feb 10, 2008
2
0
18,510
Love it! Thanks for the great work.
As a 2D worker with CAD, Illustrator, Photoshop, and acrobat I have been very interested in any little bit of info I can find on 2D and application specific performance. There are people who work that also use this hardware, thanks so much for the info.
 
[citation][nom]RubberJohnson[/nom]Yeah cause only AMD have these 2D issues, do you Nvidia fanboys even read the articles or just jump to the conclusion then bash in the forums?[/citation]

Who're you calling fanboy? I have an hd5770 and hd4650 (along with 9600gt and 8600gts and 9600gs). What are you so sensitive about? The fact that ATI put their driver team on this says that it was a problem, and the authors work was right, not that ati is evil and nvidia is good. Or did you just quote the wrong comment ?
 

arlandi

Distinguished
Nov 25, 2007
171
0
18,690
will there be this kind of benchmark for Intel's GPUs? and other onboard silicons from other companies?
since pcs that use onboard gpus are never intended to use real 3D applications, 2D performance IS important.
 



Cool, look forward to reading it when I get back... if I can still see. [:thegreatgrapeape:3]

Would also be interesting if they could check multi-monitor setup impact, since so many of us are now running at least 2 monitors when we focus on 2D work. We've often said there's negligible i=mpact of the second monitor, but if multiple windows has such and impact it would be worth investigating 2-3 monitor setups with at least 1920x1080 resolution (preferably larger).
 
@TheGreatGrapeApe: Seven corrected Vista's RAM hungriness by removing the 'shadow' buffer on WDDM 1.1 drivers: now, it reads back from VRAM. Depending on your interface, this can be VERY slow (forget about AGP, for example) on some operations. It does mean, however, that on very large screens with compositing (Aero) enabled, video RAM gets paramount, otherwise you get constant 'swapping' between system and video RAM.

A problem that often gets mentioned on Xorg mailing lists is how do you optimize a driver so that it doesn't need to read back from VRAM too often.

The easy way (Vista) is to keep a shadow copy in system RAM; this way, you don't care about where your data is in VRAM, you just overwrite it. Fast, safe, easy, eats RAM up for breakfast - especially on composited multiple screen setups.

The 'hard' way (Seven, Linux) is to manage your video RAM as a dedicated part of your RAM: you store objects in it, and you retrieve them when you need them. However, you can't manage it like system RAM, as it behaves the opposite way: it's fast and easy to write to it, but reading from it is expensive. Moreover, you now have two processors that deal with its content: your CPU, and the GPU, and you have to deal with concurrent access. It also needs to be able to 'spill' on system RAM if free video RAM gets low.

On Linux (and other FOSS systems which are seeing ports), this was solved by Tungsten Graphics and Intel with TG providing a VRAM controller (called TTM) and Intel providing a simple interface to a RAM controller (GEM), the whole developed in common with all other driver writers.

Now, let's take this case: you have opened a window, it is in VRAM. You want to resize it. That entails:
- modifying its contents, as in rewrapping text, drawing new icons, pulling newer content (if it gets bigger)
- modifying its borders

If you have a shadow copy, you simply re-draw the window in RAM and blit it. A single write, it's fast.

If you have a well-written driver, you merely need to send your card commands so that it needs to move existing glyphs, add new glyphs, add new graphics elements, and let the card do the works.

If your driver is incomplete however (one operation included in the resize isn't accelerated), you need to let it process what it can, read back the results, perform operations on the results in system RAM, and send those new modifications back to the card. And such for every pixel of movement.

Add to that constraints such as refresh rate and forced reraws (blitting video), and you get jerky, slow operations, with heavy CPU use: in fact, said CPU use comes from constant wait() states.

And this is why a driver can get suddenly very fast: a very frequently performed operation among several wasn't accelerated, which slowed the system down a lot over zero acceleration (since zero acceleration pretty much means drawing in system RAM and sending the complete results to video, so no back and forth moves), is finally accelerated: well, no more back and forth operations, the system gets snappy. If, on a set of six frequently used functions, Nvidia accelerated six on NV40, five on G80 and AMD accelerated five on R600/700 and four on R800/Evergreen, you hit system bus bottlenecks (say, 7,000 reads and writes/second) much sooner: you don't on 6/6 (as you only perform writes), you perform 7,000/second read/write for a single operation on 5/6, you perform 7,000 for two operations on 4/6 - meaning that you only render half as much windows per second on Evergreen than you do on R700 or G80, and those pale in front of NV40 which doesn't hit the bottleneck.

Add acceleration for those few operations, and suddenly the card flies.

So, why don't they do it by default? Because 2D acceleration is HARD! Harder than 3D acceleration, even - as a mistake on a 2D operation means on-screen corruption, which would require a complete redraw to remove, which is very expensive so it can't be done automatically (no detection is possible), and it looks very bad - which is much more obvious to the user than mere slowness. And it happens much more easily than in 3D mode, as you may have several concurrent operations in progress (at least one per window) on unrelated programs (one per window) that still interact (window over window: transparency, shadows etc.; TrueType change: all glyphs need redrawing; theme change: all window need redrawing and repositioning; fast switcher: all windows must be rendered as preview and stored; fast preview: same thing), and now add VSYNC, video blitting or overlays (they have been re-enabled in Windows 7) into the mix...

So, they'd rather write drivers that render stuff correctly if slowly, rather than drivers that render stuff extremely fast but may corrupt your screen.

In that aspect, FOSS drivers are interesting. As you see them in development, you see the effect of what a missed operation means: magenta splotches, noise on screen, misaligned glyphes... And you have daring users that try those very experimental developments in extreme, but real use, cases, then report it to the programmer directly, who can more often than not reproduce it (software is available) who will then issue a patch, which is then tried by the daring user, who will report that it works - and then the acceleration is made available on the next driver release. If the problem comes from the application asking wonky stuff from the driver that for some reason wasn't visible on unaccelerated mode, even the app (or toolkit) programmer may pitch in.

You may have, for example (this is not a real case), noise on curved KDE window borders; Qt4 (KDE's toolkit), when accelerated, may issue an extra alpha channel instead of simple RGB (you thus have ARGB issued instead of RGB), the driver didn't expect that and cuts it at the third byte (dealing with ARG instead of RGB) and you get noise. You will then get a fix in Qt4, (it broadcasts what data type it uses) and a function in the driver that checks that what data is received matches the layout of expected data - or logs an error and falls back to unaccelerated.

Which means that for 2D, FOSS drivers eat proprietary ones, which don't have such extensive, fast, direct feedback, for breakfast.
 

juanc

Distinguished
Nov 18, 2009
96
0
18,630
Must say the article is interesting. Despite "nothing new" about it.

This is why OSX uses an OpenGL desktop.

I bet if there are ATI Mach64 drivers for Windows7 you plug that PCI card with 4MB of RAM and will kick every tested card with Aero disabled.

ATI lost it before being acquired to AMD, but on top of that, it was the BEST brand with drivers for every OS and every Software (remember that ACAD 3DS Migrogrphx and others under DOS needed Drivers)

Now they have crappy Windows drivers, shitty Linux drivers, and no support for other PC OSes.

Maybe in a short period even VESA routines will not run.
 

marvinduran

Distinguished
Jan 28, 2010
1
0
18,510
This sure makes sense to me. I just bought and acer laptop with an HD3200 256 mb graphic chip.
With windows 7 64-bit and 4gb... my pc score was 3.1, thanks to Aero grapchics performance. 4.9 is the 3d gaming perfomance, so those numbers made no sense. I changed the color depth from 32 to 16 bit color, ran the assesment and aero performance went up to 3.9!!
So ATI really do have a problem here.
 

Tristimulus

Distinguished
Sep 11, 2008
3
0
18,510
I will be also nice to see benchmarks with Quadro and FirePro for different OSes
I only have Vista to test...
I've tried Vista x64, Intel Core 2 Q6600 2.4ghz 8gb RAM
A dual card workstation:
Quadro FX 3500:

BENCHMARK: DIRECT DRAWING TO VISIBLE DEVICE

Text: 38139 chars/sec
Line: 49084 lines/sec
Polygon: 16906 polygons/sec
Rectangle: 2762 rects/sec
Arc/Ellipse: 19142 ellipses/sec
Blitting: 6287 operations/sec
Stretching: 482 operations/sec
Splines/Bézier: 28935 splines/sec
Score: 1823
Quadro FX 570:
BENCHMARK: DIRECT DRAWING TO VISIBLE DEVICE

Text: 37481 chars/sec
Line: 49358 lines/sec
Polygon: 16868 polygons/sec
Rectangle: 2812 rects/sec
Arc/Ellipse: 19142 ellipses/sec
Blitting: 6293 operations/sec
Stretching: 434 operations/sec
Splines/Bézier: 28918 splines/sec
Score: 1812
 
G

Guest

Guest
Please add benchmarks of the Radeon HD 2600 Pro - it's an *extremely fast* 2D card under Windows XP - it stomps every modern card ATI has produced so far in 2D performance, but is SUCKS badly under Windows 7.

It would also be nice to see benchmarks of the really old, but extremely popular (at the time) Radeon 8500 (or 9100) AGP card - the pinnacle of 2D performance by ATI. It runs circles around any modern card produced in the last 8 years.
 

belardo

Splendid
Nov 23, 2008
3,540
2
22,795
[citation][nom]eyemaster[/nom] The only thing that bothers me in Windows 7 is that it's always disabling the Aero theme when I launch certain apps/games.[/citation]

Certain programs are not compatible with AERO. So by dropping those windows into NON-AERO allows them to function or work at least. Some of my software only works in this mode.
 

belardo

Splendid
Nov 23, 2008
3,540
2
22,795
While the Gates and ballmer Night at the Roxberry parody is kind of funny, it shows they can't dance worth a damn. They are swaying their bodies, when they are supposed to flick their head/neck. :)
 
G

Guest

Guest
As a graphic designer I've been very frustrated with lackluster 2d performance & development focus in graphics cards for many years - along with the *total neglect* of 2d benchmarking in favor of purely "game-centric" 3d testing in hardware reviews.

This focus of the reviews has driven both graphics card manufacturers down this blind trail, to the neglect of core functionality.

I -really- hope Tom's Hardware will set the example and include robust 2d benchmarking in all future graphics cards reviews!
 

Aleksa2009

Distinguished
Dec 15, 2009
15
0
18,510
Good article, by the way the biggest news by ATI to IT community is
not the new catalyst v10.1 drivers, but a second postponement of 5830 by ATI. The unofficial reason for a 5830 that was initially slated for 25 January is PCB issues :-D.
That is so lame excuse :-D, the 5850 and 5830 are same card, same PCB, cooling, 256bit BUS, DDR5, same GPU just lover clocks of GPU core and memory, the biggest difference is the sticker :-D = 5830 is binned 5850. The 5830 cost AMD same as 5850 so they decided to postpone 5830 as long as possible at this stage for 3-4 weeks to make more money for ATI- AMD and its partners, 5850 earns higher margins for whole ATI distribution channel. This is a result of lack of competition, NVIDIA hurry up with FERMI ;-D.
 

clinamen_1

Distinguished
Jan 29, 2010
8
0
18,510
I notice that XP also has a visual theme disable as well. I tried it and no differences were visible in dragging a window around CS3 Photoshop. With an nVidia 7300 no less!

OT: Win7 64 is about 8% slower than XP in CPU benchmark testing.
 
G

Guest

Guest
Hi, I really think the writer for "2D, Acceleration, And Windows: Aren't All Graphics Cards Equal?" article should watch this couple of videos and read the text its uploader wrote.

http://www.youtube.com/watch?v=ay-gqx18UTM

http://www.youtube.com/watch?v=ToFgYylqP_U

According to the videos (and apparently Microsoft's own documentation) Windows Vista completly removed GDI hardware acceleration, and Windows 7 just brought back a few of the dozens of originally hardware accelerated on XP functions.
 

liquidsnake718

Distinguished
Jul 8, 2009
1,379
0
19,310
Well well a beloved patriot in the armor. I hope this is only a driver issue as 2d apps are utilized often in my pc. I am wondering why I didnt notice it two days ago when I was using ppt?
 

spleek

Distinguished
Jan 30, 2010
1
0
18,510
I'm also really curious about how the pro Quadro/FirePro cards stack up. We need some objective data to separate truth from the marketing bs we've been fed for the last several years. I really hope Tom's will step up to the plate. This is really a major news story.

From the benches here it doesnt seem the pro cards fare any better. I assume internally they really ride on the coat-tails of the consumer cards in terms of driver development. Which is really an even bigger shame for both ATI and nVidia, considering the significant cost markup of pro cards.

Windows 7 x64, Intel i7 920 @ 2.7ghz OC, 6gb RAM, ATI 5850:

BENCHMARK: DIRECT DRAWING TO VISIBLE DEVICE

Text: 41085 chars/sec
Line: 40917 lines/sec
Polygon: 12864 polygons/sec
Rectangle: 4819 rects/sec
Arc/Ellipse: 15713 ellipses/sec
Blitting: 12923 operations/sec
Stretching: 1212 operations/sec
Splines/Bézier: 20881 splines/sec
Score: 1810


[citation][nom]Tristimulus[/nom]I will be also nice to see benchmarks with Quadro and FirePro for different OSesI only have Vista to test...I've tried Vista x64, Intel Core 2 Q6600 2.4ghz 8gb RAMA dual card workstation:Quadro FX 3500:BENCHMARK: DIRECT DRAWING TO VISIBLE DEVICEText: 38139 chars/secLine: 49084 lines/secPolygon: 16906 polygons/secRectangle: 2762 rects/secArc/Ellipse: 19142 ellipses/secBlitting: 6287 operations/secStretching: 482 operations/secSplines/Bézier: 28935 splines/secScore: 1823Quadro FX 570:BENCHMARK: DIRECT DRAWING TO VISIBLE DEVICEText: 37481 chars/secLine: 49358 lines/secPolygon: 16868 polygons/secRectangle: 2812 rects/secArc/Ellipse: 19142 ellipses/secBlitting: 6293 operations/secStretching: 434 operations/secSplines/Bézier: 28918 splines/secScore: 1812[/citation]
 

9Nails

Distinguished
Apr 13, 2001
21
0
18,510
Since we're talking 2D here, I would have loved to see some Intel embedded GPU's tested. And maybe a few mobile AMD/Intel/Nvidia GPU's as well. But that aside, what a fantastic article, this was a an eye opener!
 

clinamen_1

Distinguished
Jan 29, 2010
8
0
18,510
I tried the test as depicted in the first youtube. On XP, I saw the same results but on Win7, is was quite different. The window did not expand and contract as I pulled a corner back and forth. Rather, the window stayed the same size and all I saw was a frame expanding and contracting until I let go of the mouse, which then allowed the window to resize, and rather fast as well.

I also did not see any significant demands on the processors, jumping to maybe 10% as I let the mouse go.

I am running an Asus M4A77TD with an AthlonII x4 630 running at 3.15G. 2G ram.

The interesting part is the video card. It's an nVidia 7300LE series. Now I note that the onboard video which ran away and hid from the high end card is a 7000 series.

I have full functionality of OpenGl in CS4 with this card.

Hmmmm....
 
Status
Not open for further replies.