Problem reading framebuffer object

I am currently writing an application that renders a scene in high details requiring between 4 and 16 megapixels. To accomplish this, I need a framebuffer object since I cant get such resolution on a screen. I have only a render buffer attached to my framebuffer since im only interested in the red color component of the pixels.

The problem is that reading the framebuffer with glReadPixels takes an average of 7 seconds for 4 megapixels. I tried with smaller buffers, 600x600, and the reading was still above a second. When trying the same operations but from a window, I get times under 10ms.

What would cause such a difference. The pc Im currently working on is an P4 3.4 with hyperthreading enabled, 1.5 gig of ram and has an NVIDIA Quadro 280 PCI-E video card with the latest video drivers.

Any help would be greatly appreciated.

Actually, I’m having a similar problem although I am not running at such high resoloutions. When I drag something over the window, it slows right down, but when in windowed mode with nothing touching the window, it spins very fast. But I don’t really care either.