PDA

View Full Version : ReadPixels on ATI.



Lev
11-13-2003, 08:36 AM
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

Ostsol
11-13-2003, 09:43 AM
Framebuffer reads on Radeons have been found to be notoriously slow, for some reason. It's a known issue.

Lev
11-13-2003, 09:59 AM
Is there any information on when will this be fixed?

Regards
-Lev

Ostsol
11-13-2003, 10:13 AM
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.

stanleyw
11-14-2003, 11:03 AM
I just tried it on a radeon 9700 and man is it slower than my nvidia

Adrian
11-14-2003, 12:39 PM
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.

NitroGL
11-14-2003, 03:45 PM
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).]

Adrian
11-14-2003, 03:57 PM
Originally posted by NitroGL:
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).]

800x600*4=1.92Mb

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

Lev
11-17-2003, 12:00 PM
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

V-man
11-17-2003, 12:09 PM
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.

davepermen
11-17-2003, 02:47 PM
60.8924395946999220576773187841 MB/s with my measurements..

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

OldMan
11-18-2003, 01:44 AM
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?

zeckensack
11-18-2003, 01:52 AM
Originally posted by OldMan:
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?Have a look at this thread (http://www.opengl.org/discussion_boards/ubb/Forum3/HTML/008155.html) . It has a link to a small benchmark and lots of performance data http://www.opengl.org/discussion_boards/ubb/smile.gif

flo
11-18-2003, 02:58 AM
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).]

Elixer
11-18-2003, 02:16 PM
Originally posted by zeckensack:
Have a look at this thread (http://www.opengl.org/discussion_boards/ubb/Forum3/HTML/008155.html) . It has a link to a small benchmark and lots of performance data http://www.opengl.org/discussion_boards/ubb/smile.gif

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?

davepermen
11-18-2003, 02:48 PM
adrian hosts the file, too.. just continue reading the page. he has some backups

PeteBernert
11-18-2003, 09:06 PM
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.

Adrian
11-19-2003, 12:04 AM
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

Elixer
11-19-2003, 08:33 AM
Thanks, got it.