PDA

View Full Version : AMD R600/700 2D Performance: Open vs. Closed Drivers


phoronix
09-30-2009, 02:10 AM
Phoronix: AMD R600/700 2D Performance: Open vs. Closed Drivers

While the ATI Radeon HD 5800 graphics cards were introduced last week, the open-source support for the Radeon HD 2000/3000/4000 series is finally maturing. The Linux 2.6.32 kernel will feature kernel mode-setting support for these ATI R600/700 graphics processors as well as the DRM support for allowing 3D acceleration. The classic Mesa support for the Radeon HD 2000 through Radeon HD 4000 series is maturing and is now able to run basic OpenGL games and applications, while the Gallium3D support is still a ways out. However, now that there is finally the Catalyst 9.10 driver within Ubuntu Karmic Koala that supports the latest kernel, we are finally able to directly compare the performance of AMD's Catalyst driver and that of the latest open-source code. In this article we have benchmarks showing the 2D performance between these two driver options with both an R600 and R700 graphics card.

http://www.phoronix.com/vr.php?view=14223

Zajec
09-30-2009, 02:16 AM
AFAIK X Server from git/1.7 contains improvements for EXA. So performance should be even better.

kraftman
09-30-2009, 02:31 AM
Interesting test. Btw. it would be nice to see some simple 3D benchmark (Open Arena, Urban Terror etc.) to see if Catalyst is much faster there.

chrisr
09-30-2009, 02:52 AM
I own a Radeon HD 4650, and have tested the Catalyst 9.9 driver against it at least. The performance is not good!. World of Warcraft's Launcher program has a very large picture on it, and fglrx takes ages to display it. You can practically see it being drawn, a line of pixels at a time.

My Radeon 9550 dances rings around the HD 4650 at this task; and the 9550 is using the OSS driver. You can imagine that an ordinary desktop with the HD 4650 is somewhat less than "snappy".

Kano
09-30-2009, 04:57 AM
fglrx is the worst driver that you can use. the not tested things are much more important like proper xv support (opengl is too slow on lowend cards for hd content). i also wait for working vdpau / vaapi support. for hd content with really high bitrates (vc1/h264 over 30 mbit/s) i can watch em in most cases with radeon oss + xv, but some only work with vdpau without losing a/v sync. I don't know what's the exact reason when a E8400 + xv is not enough - maybe the software decoder has got some problems in rare cases.

V!NCENT
09-30-2009, 05:41 AM
Wow, this sure is surprising!

Given the fact that 2D is done on 3D acceleration on the latest ATI cards, does that mean that basic 3D 'stuff' is als faster than Catalyst with the FLOSS drivers?

nanonyme
09-30-2009, 05:57 AM
Wow, this sure is surprising!

Given the fact that 2D is done on 3D acceleration on the latest ATI cards, does that mean that basic 3D 'stuff' is als faster than Catalyst with the FLOSS drivers?No. 2D acceleration is done on the 3D engine on the card; making a fast 3D acceleration implementation is still as hard as ever.

chrisr
09-30-2009, 06:20 AM
fglrx is the worst driver that you can use. the not tested things are much more important like proper xv support (opengl is too slow on lowend cards for hd content).

fglrx's OpenGL support on the HD 4650 is better than Mesa's ATM. The WoW Launcher might render one line at the time with fglrx, but WoW itself gives me about 20 fps in front of the bank in IronForge.

Eh, hang on...!?

Ant P.
09-30-2009, 07:39 AM
Are we going to see benchmarks like this for other cards? It'll be interesting to see if nVidia's blob 2D performance has become acceptable relative to the other drivers since KDE4.0 was released.

greg
09-30-2009, 08:59 AM
NVidia's later binary drivers perform very well now, at least in my experience. A benchmark would be still be interesting, of course.

L33F3R
09-30-2009, 09:05 AM
2d performance is looking good with the OSS driver :).

rohcQaH
09-30-2009, 09:26 AM
NVidia's later binary drivers perform very well now, at least in my experience.
not for me. I still consider KDE4 unusable on both my 7600GT and my Quadro NVM 140 (~8800M).
But KDE3 works fine, so I'm fine for now :)

greg
09-30-2009, 09:53 AM
Well, it's a bit strange. In synthetic benchmarks (like done by Phoronix), the NVidia drivers perform extremely well. A few quick benches (w/ JXRenderMark) show that XRender performance is a lot better (than a Radeon 3850 w/ OSS drivers) on a GeForce 8600 GT despite the hardware being a lot slower.

Just a few XRender operations are slow on NVidia; gradients aren't accelerated, for example. Maybe KDE depends on these operations being fast?

mtippett
09-30-2009, 10:25 AM
I own a Radeon HD 4650, and have tested the Catalyst 9.9 driver against it at least. The performance is not good!. World of Warcraft's Launcher program has a very large picture on it, and fglrx takes ages to display it. You can practically see it being drawn, a line of pixels at a time.

My Radeon 9550 dances rings around the HD 4650 at this task; and the 9550 is using the OSS driver. You can imagine that an ordinary desktop with the HD 4650 is somewhat less than "snappy".

As indicated in the article, the increasing dependence on RENDER is where the major differences are.

This is true for all the benchmarks identified as well as newer versions of Wine.

L33F3R
09-30-2009, 10:35 AM
not for me. I still consider KDE4 unusable on both my 7600GT and my Quadro NVM 140 (~8800M).
But KDE3 works fine, so I'm fine for now :)

my 7950 works perfectly fine out of the box. Maybe u buy cursed hardware.

b15hop
09-30-2009, 10:38 AM
This brings me to a question.
It seems that the old R300 cards and older have good 2D and 3D OSS support. Maybe we need an overall graph / database on what support level vs performance all graphics cards have.

Ie R300 **** four star OSS
R700/800 *** three star OSS ?

That's My 5 cents.. =)

Zajec
09-30-2009, 10:43 AM
This brings me to a question.
It seems that the old R300 cards and older have good 2D and 3D OSS support. Maybe we need an overall graph / database on what support level vs performance all graphics cards have.

Ie R300 **** four star OSS
R700/800 *** three star OSS ?

That's My 5 cents.. =)
http://wiki.x.org/wiki/RadeonFeature
http://wiki.x.org/wiki/RadeonProgram

Unfortunately server is down today.

tball
09-30-2009, 10:44 AM
I think the oss performance is pretty impressive compared to the early age of the driver. I don't think they even have done any optimizing yet?

vrodic
09-30-2009, 12:36 PM
I'm interested if the OpenSource drivers downclock the GPU properly as they should to save power?

drag
09-30-2009, 12:56 PM
Well, it's a bit strange. In synthetic benchmarks (like done by Phoronix), the NVidia drivers perform extremely well. A few quick benches (w/ JXRenderMark) show that XRender performance is a lot better (than a Radeon 3850 w/ OSS drivers) on a GeForce 8600 GT despite the hardware being a lot slower.

Just a few XRender operations are slow on NVidia; gradients aren't accelerated, for example. Maybe KDE depends on these operations being fast?

The software renderer for X.org is going to be very efficient.

"Hardware acceleration" != Faster

I don't know the particulars for this driver, but it is common to run into OSS drivers that can perform these benchmarks faster, but in real-world desktops be much slower.

The deal is that if you have a mixture of software rendering and hardware rendering it means your doing lots of context switching and moving memory objects back and forth from the video ram to main ram.

So in synthetic benchmarks like this were a most of the operations are running in software you will actually get impressive performance.. but as soon as you start to mix hardware acceleration features into the mix then performance and efficiency dives.

So as result OSS drivers improve the performance on these benchmarks will actually likely _go_down_ as they move from mixed software/hardware rendering to performing all the operations on the GPU, which in many cases is slower then running it on the CPU.

bulletxt
09-30-2009, 05:50 PM
The only thing this article should make us all understand is what a piece of shit fglrx is. But still, thanks amd for understanding your incapacity in delivering a linux driver that "forced" you to release your hardware specs (if you didn't do it, all linux users would slowly go towards nvidia or intel, and you know this).

And don't believe to the bullshit about Linux and its 1% market. It's not a percentage problem, the problem is if I speak bad about ati, then you speak bad about it -> a lot of people will start talking bad about ati. The final consequence is: ati is a bad company, and this is exactly what happened with Windows Vista. 10 people talked bad about vista, after that everyone talked bad about it, even people that never tried it. This forced microsoft to do a new os in record time even though Vista is infinite times more stable and believe it or not, statisticaly more secure than Windows XP.

Don't believe to bullshit people, but still be happy that amd released specs so next year amd cards in theory will rock on linux.
So what is my point? Very simple. Be grateful to amd, but be more grateful to nvidia, because they are the only ones delivering a more or less stable and full-featured driver for linux since 2001. We must not forget this. It was year 2004 and the only 3d working card on Linux was nvidia, I will never forget this.

greg
09-30-2009, 05:52 PM
The deal is that if you have a mixture of software rendering and hardware rendering it means your doing lots of context switching and moving memory objects back and forth from the video ram to main ram.

That's exactly my point and that's why the missing gradient acceleration might be a problem. With the NVidia example, if you have some gradient rendering in your pipe, everything will slow down because pixmaps constantly are copied between host system and GPU. It's not the software rendering itself causing most of the slowdown.

So in synthetic benchmarks like this were a most of the operations are running in software you will actually get impressive performance.. but as soon as you start to mix hardware acceleration features into the mix then performance and efficiency dives.

Huh? The OSS Radeon drivers have pretty full-featured XRender acceleration, so ideally your whole processing pipe is accelerated. Same for NVidia, with few exceptions as well. fglrx is completely missing any sensible XRender acceleration as far as I know.

b15hop
09-30-2009, 05:59 PM
http://wiki.x.org/wiki/RadeonFeature
http://wiki.x.org/wiki/RadeonProgram

Unfortunately server is down today.

My God! No wonder they say X.Org is bloated ...!

Actually, now that I've had a quick look. I notice Gallium is looking quite far away. Almost every Gallium feature is a long way off. So if that is miles away then OOS OpenCL will be absolutely ages away. Thinking at least 3 years away..

b15hop
09-30-2009, 06:10 PM
That's exactly my point and that's why the missing gradient acceleration might be a problem. With the NVidia example, if you have some gradient rendering in your pipe, everything will slow down because pixmaps constantly are copied between host system and GPU. It's not the software rendering itself causing most of the slowdown.



Huh? The OSS Radeon drivers have pretty full-featured XRender acceleration, so ideally your whole processing pipe is accelerated. Same for NVidia, with few exceptions as well. fglrx is completely missing any sensible XRender acceleration as far as I know.

I wonder if the gradient stuff can be done in hardware? I'm thinking that it could well be done since GPU's these days are very capable. The constant switching might be the cause of this but this just means that a focus towards bias is important. Either go all out with hardware or all out with software. Thought I still prefer hardware over software. Especially according to nvidia's marketing:

YouTube - CPU vs. GPU (http://www.youtube.com/watch?v=XtGf0HaW7x4&NR=1) (funny myth busters video)

greg
09-30-2009, 06:37 PM
Yes, sure, gradient rendering can be accelerated. In the worst case the fixed function hardware doesn't support it and you need to use shaders, but that isn't a problem, it just means more work.

b15hop
09-30-2009, 06:40 PM
Yes, sure, gradient rendering can be accelerated. In the worst case the fixed function hardware doesn't support it and you need to use shaders, but that isn't a problem, it just means more work.

God if shaders were used to colour gradients, they could potentially be rendered so fast that it will be off the charts. Hmm =) Though in saying that, less is more.. I think as long as it's done simply in hardware it should be fine.

Kano
09-30-2009, 06:46 PM
@chrisr

My card is just a 3450 - which is definitely very slow with opengl. But the only thing it must be capable of is to watch movies and surf the web.

b15hop
09-30-2009, 06:54 PM
@chrisr

My card is just a 3450 - which is definitely very slow with opengl. But the only thing it must be capable of is to watch movies and surf the web.

That's the problem Kano, I wanted more then that. I wanted OpenGL 3D as well. Not just fast 2D. If you use that same 3450 in Win XP you will realise that it's not really that slow, it's about as fast as a Raedon 9600 pro for 2D and movie stuff. Infact with good drivers it should be faster.

Yfrwlf
09-30-2009, 11:43 PM
The only thing this article should make us all understand...

Yes, everyone knows that AMD is now slowly starting to catch up and are using the community to help them do so, but thanks for the reminder. :rolleyes:

It's really good news to hear the OSS status doing so well which is something you currently cannot say about Nvidia, but yes yes Nvidia takes the closed source cake. Ultimately to goal is to get OSS to surpass Nvidia's closed source quality, and in many ways it already has due to the nature of OSS. (Like possibly not being able to implement a non-Nvidia GUI front-end for their proprietary driver? Maybe, maybe not, but regardless OSS gives devs and users a lot more freedom.)

dgrafenhofer
10-01-2009, 01:46 AM
There is an additional reason to use the fglrx driver instead of the OSS ones: Powermanagement. While this might not be a huge problem on desktops, on notebooks this is one of the main features of fglrx. With the OSS driver my laptop gets extremely hot and uses tons of power. So if you don't want to burn your fingers (or you do not like to sweat a lot while typing) and want to use your notebook running on batteries, then you are stuck with the fglrx driver at the moment.

panda84
10-01-2009, 02:09 AM
[...] even though Vista is infinite times more stable and believe it or not, statisticaly more secure than Windows XP.


Infact the most of the concerns regarding Vista are not about nor stability nor security.

The only thing this article should make us all understand is what a piece of shit fglrx is. But still, thanks amd for understanding your incapacity in delivering a linux driver that "forced" you to release your hardware specs (if you didn't do it, all linux users would slowly go towards nvidia or intel, and you know this).


Some benchmark comparing same level cards would be interesting: radeon VS fglrx VS nouveau VS nvidia. I'd bet nvidia proprietary 2D won't get out as the overall winner.

chrisr
10-01-2009, 02:53 AM
My card is just a 3450 - which is definitely very slow with opengl. But the only thing it must be capable of is to watch movies and surf the web.

I'm hoping my 4650 will take me to Dalaran some day. But there's no way it can do that while I'm only getting 20 fps in Ironforge.

But considering that WoW's recommended system requirements only say 1650, I see no reason why a 4650 shouldn't take me to Dalaran...

Linuxhippy
10-01-2009, 11:09 AM
I am the author of JXRenderMark, and told Bridgeman a long time ago fglrx is a real looser when it comes to 2D performance.

Bridgeman told me they plan to improve 2D performance of fglrx, and that was about a year ago - nothing has happend.
Fglrx still is based on XAA, efectivly preventing any kindof useful 2D acceleration.

AMD PLEASE MOVE TO EXA! PLEASE!

If you are lazy, make a hybrid consisting of the OSS 2D parts and your 3D binary blob, but please do something about this.


I'd bet nvidia proprietary 2D won't get out as the overall winner.
NVidia's proprietary driver has *excellent* 2D XRender acceleration.
A long time ago everybody complaind about lackluster 2D performance like its the case with fglrx now, but NVidia learned from their mistakes and did it.

- Clemens

V!NCENT
10-01-2009, 01:31 PM
AMD PLEASE MOVE TO EXA! PLEASE!
I got a better idea. There are two teams working on the fglrx drivers, right? Have one team only focussing on the features and the other team on bug fixing, code clean up, performance and compatibility; in other words quality assurance!

Features are cool, but only as long as one can use them...

So please considder this idea, AMD, when you are no longer playing the feature catch 'em up game.

chrisr
10-01-2009, 01:45 PM
Have one team only focussing on the features and the other team on bug fixing, code clean up, performance and compatibility; in other words quality assurance.

I for one would not be happy if my work consisted solely of cleaning up other people's buggy code.

Joe Sixpack
10-01-2009, 05:53 PM
I for one would not be happy if my work consisted solely of cleaning up other people's buggy code.

So imagine how AMD feels about the code they inherited when they bought ATI.

b15hop
10-01-2009, 08:25 PM
Infact the most of the concerns regarding Vista are not about nor stability nor security.
So what are the concerns about vista then?
Some benchmark comparing same level cards would be interesting: radeon VS fglrx VS nouveau VS nvidia. I'd bet nvidia proprietary 2D won't get out as the overall winner.
Yeah but they have to be almost identical performance cards (in windows at least) to know if we are getting apples to apples increase in linux. Always seems to default to some other os :rolleyes:
So imagine how AMD feels about the code they inherited when they bought ATI.
Yeah I get the feeling that AMD is getting a lot of flack from the linux users out there. They've pretty much bought a huge cross on themselves. But I think they will come out of this stronger since they've already made progress by open sourcing a lot more than nvidia. The only problem is.. Hardware moves very fast these days, so by the time any good drivers come out in open source, there will be two to three generations of cards separating OSS and fglrx. It would be much better if it were just one generation.

chrisr
10-02-2009, 03:05 AM
Hardware moves very fast these days, so by the time any good drivers come out in open source, there will be two to three generations of cards separating OSS and fglrx. It would be much better if it were just one generation.

Personally, I have machines with an R100, R300, R535 and rv730 in, and have a rv280 card and R400 card lying in boxes somewhere. Linux machines tend to last a long, long time...

I am more than happy that the OSS drivers support multiple generations of Radeon hardware. I just wish the OpenGL support were further along.

tmpdir
10-02-2009, 04:55 AM
I for one would not be happy if my work consisted solely of cleaning up other people's buggy code.

Getting the time to do performance improving and refactoring is pretty cool work... as long your collegues are not making the same mistakes twice :o

nanonyme
10-02-2009, 05:13 AM
So what are the concerns about vista then?I suspect speed and degraded user-friendliness. It's dog-slow and the new security functions annoy users so much that they switch them off. Windows 7 seems to help with both parts somewhat but probably brings some new hassle. We'll see.
Edit: Linux also suffers of having security too much of a hassle which causes some users to just go root to get over some minor problems which ends up creating some major problem. The security system isn't really optimal for users who aren't familiar with how *nix works, including filesystems and file permission tables etc.

Dr_ST
10-02-2009, 06:15 AM
Michael, have you checked performances using compositing effects (normal and high), i've seen great improvements in catalyst-powered graphics when the composition is on. No idea why but i think this is worth the test... (and yes i mean in 2D rendering...)

tball
10-02-2009, 11:08 AM
What is the oss's performance vs windows's 2d performance? I am not talking about benchmarks performance, but pure experience.

nanonyme
10-02-2009, 11:11 AM
What is the oss's performance vs windows's 2d performance? I am not talking about benchmarks performance, but pure experience.Windows GUI *seems* to be more responsive.

tball
10-02-2009, 11:27 AM
Windows GUI *seems* to be more responsive.


What if composite is turned off?

nanonyme
10-02-2009, 11:33 AM
What if composite is turned off?That's not really relevant in this... Windows with or Without seems more responsive than Linux with or without compositing. ;)

panda84
10-02-2009, 12:27 PM
So what are the concerns about vista then?
Perfomances are not good, and the interface is a bit confusing.
I used it just for a couple of hours, but I found myself lost in the menus. XP was somehow more simpler and straitforward.

Ant P.
10-02-2009, 12:43 PM
I for one would not be happy if my work consisted solely of cleaning up other people's buggy code.

Have them swap sides every month. Or better, have a regular competition to find more bugs in the other group's code than they can in yours.

Hey, it works for NASA.

tball
10-02-2009, 01:19 PM
So when, if ever, will linux have as good 2d acceleration as windows?

Is it because of EXA, kde/gnome, Xorg or another peace of the gui system?

V!NCENT
10-02-2009, 03:14 PM
That's not really relevant in this... Windows with or Without seems more responsive than Linux with or without compositing. ;)
Compositing on Windows was since Vista. Back when it was still called Longhorn, and when GPGPU computing was non-existant, the idea was that if the UI was to run on the GPU then Windows would become faster (Vista was to be the Mac OS X experience on future Windows PC's). Then there came 3D desktops and Vista needed to have that feature too.

So now you have shitty performance with the 2D desktop (burden on the CPU) and the only way to activate GPU accelerated desktop was by enabling compositing which was also putting more burden on system performance.

The workaround? Demand more CPU and GPU time. So on computers that run terribly slow with Vista you still get an insanely respnsive GUI with terrible compute performance.

So there is no way to compare Windows performance with Linux but to test it on Windows XP...

nanonyme
10-02-2009, 03:41 PM
The workaround? Demand more CPU and GPU time. So on computers that run terribly slow with Vista you still get an insanely respnsive GUI with terrible compute performance.

So there is no way to compare Windows performance with Linux but to test it on Windows XP...Eh, isn't that mostly optimizing for desktop performance at the cost of other stuff? :p

kernelOfTruth
10-02-2009, 04:25 PM
That's not really relevant in this... Windows with or Without seems more responsive than Linux with or without compositing. ;)

which "Windows" ?

you already tried a kernel with BFS and/or 2.6.32-rc1 ?

those have the latest changes in cpu scheduling which should make desktop interactivity significantly better :)

nanonyme
10-03-2009, 03:50 AM
which "Windows" ?But Windows 7 RC, naturally. You don't honestly think I'd pay for any of their earlier productions? (actually might for Windows 7) Anyway, getting offtopic here.

Linuxhippy
10-03-2009, 04:09 AM
So now you have shitty performance with the 2D desktop (burden on the CPU) and the only way to activate GPU accelerated desktop was by enabling compositing which was also putting more burden on system performance.

I wonder why so many semi-professionals have the idea that 2D=CPU and 3D=GPU, and therefor "3D is faster".

I don't recall who often I have heard people stating that 2D rendering will be accelerated by your 3D engine because of compiz or similar bullshit.

2D is accelerated by the GPU if the driver is capable (currently all major dirvers except fglrx). period.

- Clemens

V!NCENT
10-03-2009, 05:38 AM
I wonder why so many semi-professionals have the idea that 2D=CPU and 3D=GPU, and therefor "3D is faster".

I don't recall who often I have heard people stating that 2D rendering will be accelerated by your 3D engine because of compiz or similar bullshit.

2D is accelerated by the GPU if the driver is capable (currently all major dirvers except fglrx). period.
2D on Windows Vista and 7 is just as much accelerated by the GPU as CPU Ray tracing is. 2D in NT6.0 is pure fallback. So like: hey let's render this in software and then send the entire desktop to the framebuffer. 3D in NT6.0 is in some cases faster because it actually mostly runs inside the GPU. Catch my drift? This performance gain is mostly held back by compositing which puts extra burden on the GPU. It is also why games like Crysis runs slower in Vista than it does on XP, while it's designed for Vista and even then it is not crippled (on XP you miss some graphical features and Crysis only runs on one core).

Linuxhippy
10-03-2009, 08:30 AM
2D on Windows Vista and 7 is just as much accelerated by the GPU as CPU Ray tracing is.

GDI is software-only. However WPF as well as GDI+ now sit on top of D3D. Even Java does its 2D drawing using D3D. So basically you say that a legacy API is software-only, not 2D in general.
The same goes for Xorg. Yes X11 core drawing is mostly fallback, but XRender is usually accelerated quite well, despite the fact that its 2D.


3D in NT6.0 is in some cases faster because it actually mostly runs inside the GPU. Catch my drift?

I don't see how "3D" differs between XP and Vista, when talking about D3D or OpenGL.


This performance gain is mostly held back by compositing which puts extra burden on the GPU. It is also why games like Crysis runs slower in Vista than it does on XP, while it's designed for Vista and even then it is not crippled (on XP you miss some graphical features and Crysis only runs on one core).
As far as I know, compositing is disabled for fullscreen games (would be really stupid anyway).

- Clemens

kernelOfTruth
10-03-2009, 12:16 PM
2D is accelerated by the GPU if the driver is capable (currently all major dirvers except fglrx). period.

- Clemens

so please explain what the setting:

Option "Textured2D" "on"

means for fglrx :rolleyes:

Linuxhippy
10-03-2009, 01:30 PM
so please explain what the setting:
Option "Textured2D" "on"
means for fglrx :rolleyes:

Well, even without "Textured2D" fglrx does a bit of hw acceleration, Texture2D adds another few operarations and is known to often cause troubles.
So if a driver accelerates 10% of operations stable, and 25% if I turn on experimental switches, I don't call it capable ;)