I am trying to copy memory from the GPU to the CPU using Ogre RenderTexture class with Direct3D9. I tried different texture sizes, and for each, I executed the copy operation 10,000 times to have accurate measurements. Here are the results I got:
128x128xRGBA ~= 0.2625 GB/sec
800x600xRGBA ~= 0.6823 GB/sec
4800x3600xRGBA ~= 0.7769 GB/sec
Those seems to be much less than I would expect from a Mobilitiy 5470 HD with 512 MB DDR3 on an Intel i5 processor! Actually, I read a post written some 4 years ago (2007) and it claimed that GPU-CPU using OpenGL PBOs is around 1.3 GB/sec:
http://www.gpgpu.org/forums/viewtopic.php?t=4798
So why after 4 years, I seem to get much less transfer rate?