AGP bandwidth

hi everyone,

does anyone know where i can find some specs on the AGP bandwidth for DOWNLOADING data from the GPU to RAM? just the number of MB/s would already be ok, but a short explanation on why downloading is slower than uploading would be wonderful.

thanks a lot,
demonoid

I always thought video-to-system memory was the same speed as PCI. Not sure of the details as to why.

The AGP bus is asymmetrical in bandwidth
and half-duplex. Uploading to the GPU is
very fast: 1X = 266Mbps, 8 bytes per two
clock cycles, 4X = 1.07Gbps, 16 bytes
per clock cycle; downloading from GPU
is very slow: ~12-15 DV frames per second,
which comes to ~25Mbps in real-life
experience.

very good information can be found here http://wiki.linuxquestions.org/wiki/AGP

Originally posted by rexguo:
downloading from GPU
is very slow: ~12-15 DV frames per second,
which comes to ~25Mbps in real-life
experience.

You mean 25MBps surely?

What hardware gave you those figures?

The geforce6 series improved upload and download speeds by 3-5x.

I have a benchmark that gives download speeds of 1GB/sec on the newest NV AGP hardware. I’m not sure why real life speeds would be any different to that.

Originally posted by rexguo:
The AGP bus is asymmetrical in bandwidth
and half-duplex. Uploading to the GPU is
very fast: 1X = 266Mbps, 8 bytes per two
clock cycles, 4X = 1.07Gbps, 16 bytes
per clock cycle; downloading from GPU
is very slow: ~12-15 DV frames per second,
which comes to ~25Mbps in real-life
experience.

25MB/s is very low.
ATI cards up to and including at least the Radeon 9800 series manage roughly 100MB/s.
NVIDIA cards up to and including at least the GeforceFX5900 manage roughly 180MB/s.
If you get nowhere near these numbers, chances are that you’re using a slow format. I recommend
glReadPixels(x0,y0,w,h,GL_RGBA,GL_UNSIGNED_BYTE,dest);
dest should be aligned generously.

And then … my 3DLabs WildcatVP560 does roughly 600MB/s in the same test (640x480 window). The Geforce 6800 series is purportedly in the same ballbark.
So this is definitely not an inherent AGP problem. That’s what some IHVs would want you to believe, but it’s not true. AGP can go much faster. Problem is that the chip and the drivers must be designed to support the faster (DMA?) transfer mode. Otherwise you’re getting plain old 66MHz/32bit PCI cycles with a 266MB/s theoretical upper limit.