ReadPixels on ATI.

Hello!

I’m using glReadPixels in my app, and one thing is bugging me: on NV hardware GF4 4400, GFFX 5800 ultra glReadPixels is able to read at 170 MB/s, on ATI hardware with latest drivers, AGP8x enabled, the best case ist only 75 MB/s. Anyone achieved better results?

Regards
-Lev

Framebuffer reads on Radeons have been found to be notoriously slow, for some reason. It’s a known issue.

Is there any information on when will this be fixed?

Regards
-Lev

No idea. The first time I heard of this issue was in mid-summer, I think. You could always toss a message to ATI developer relations and inquire as to the state of the issue.

I just tried it on a radeon 9700 and man is it slower than my nvidia

Originally posted by Ostsol:
You could always toss a message to ATI developer relations and inquire as to the state of the issue.

If anyone does, please post the reply here. I’m interested in this to.

Just tested it here, this is what I get:
0.0000533512

How I calculate it:
start=rdtsc
ReadPixels
end=rdtsc

time=(float)(end-start)/processor_frequency_in_Hz

And that’s an 800x600 BGRA buffer.

Edit:
OOPS, the parameters were worng on ReadPixels. The actual value is 0.0315500.

[This message has been edited by NitroGL (edited 11-14-2003).]

Originally posted by NitroGL:
[b]Just tested it here, this is what I get:
0.0000533512

How I calculate it:
start=rdtsc
ReadPixels
end=rdtsc

time=(float)(end-start)/processor_frequency_in_Hz

And that’s an 800x600 BGRA buffer.

Edit:
OOPS, the parameters were worng on ReadPixels. The actual value is 0.0315500.

[This message has been edited by NitroGL (edited 11-14-2003).][/b]

800x600*4=1.92Mb

1.92/.03155=61Mb/sec=not good at all.

I mailed ATI devrel asking about plans on fixing this problem, and got a reply (lightning fast!!!) to use GetRenderTargetData (DX9 method).

Guess this means they are not very interested in fixing this.

Regards
-Lev

Consider using GDI to grab the front buffer.

Do you really need a fast readback to system memory? glReadPixels is probably slow on other hw as well.

60.8924395946999220576773187841 MB/s with my measurements…

depressing low… lets get some ati people to tell us a bit about it!

Someone could put here a simple test application (so that all tests would be exactly same). It would be niec to have some good statistics about this kind of stuff.

And I am really curious… what would you all consider a good value?

Originally posted by OldMan:
[b]Someone could put here a simple test application (so that all tests would be exactly same). It would be niec to have some good statistics about this kind of stuff.

And I am really curious… what would you all consider a good value?[/b]
Have a look at this thread . It has a link to a small benchmark and lots of performance data

http://developer.nvidia.com/object/General_FAQ.html This FAQ from NVidia states that 160-180 MB/s is the GPU hardware limit, due to PCI reads on the memory interface.

[This message has been edited by flo (edited 11-18-2003). stupid urls …]

[This message has been edited by flo (edited 11-18-2003).]

Originally posted by zeckensack:
Have a look at this thread . It has a link to a small benchmark and lots of performance data

hmm… I can’t access that file your talking about… perhaps it has to do with the date of the original post and the file is now gone?

adrian hosts the file, too… just continue reading the page. he has some backups

since Lev was asking about a low reading speed on ATI cards, I cannot see how the nVidia pixel data range extension is helpful.

The last time I asked ATI about the reading speed issue (along with a small test application to show them the difference between ATI and NVidia cards), the answer was:

"our QA has reproduced this problem and filed the bug with the driver guys.

Not sure if they will be able to make a difference, but thanks for the benchmark program!"

That was 5 months ago.

Originally posted by Elixer:
hmm… I can’t access that file your talking about… perhaps it has to do with the date of the original post and the file is now gone?

This link still works http://www.adrian.lark.btinternet.co.uk/PixPerf.zip

Thanks, got it.