FBO performance drops

Hi
I am having some problems with FrameBufferObjects in some situations.
The program is running without problems, but at some time it start to append too much time on the swap buffers ( going from 60 fps to nearly 7 ). I have searched for the cause and discovered that some framebuffers when binded, caused that fps drop. Without binding any FBO, the frame rate goes to the normal ( without binding it but still rendering the FBO scene ).
That FBO where the problem occurs is the same that was used when the FrameRate was normal.

somebody have Any idea or sugestion about what is occuring?

thanks in advance.

you have vsync on, right ?
try putting a glFinish() right after swapbuffers.
I often saw a few much longer frames with vsync and no finish, every few seconds.

upside is that glFinish makes it silky smooth for me.
downside is that the program goes from 10-30% cpu usage to 100% (busy loop in the driver probably).

Hi
I already use glFinish in the code for some compatibilities with intel cards. I have forgot to specify that the problem only occur in specific hardware ( GeForce 6600 GT ) and when in dual screen mode. Some time ago, the FBO was working correctly in the same hardware.

Hi,
I am having very similar problems to you.
I have an application streaming textures via PBO memory and believe that after something like 32,600 updates(???) the time to upload a texture frame goes from circa 1ms to circa 12ms.

The same also seems to happen if I make 2 PBO updates within a single GL frame.

We only use nVidia h/w (although are going to try ATI very soon) and this problem has only appeared since driver 178.24. It works fine with 175.19.

Surely this is a driver problem???

Sorry - should have said that I am using PBuffers instead of FBOs, but it sounds spookily similar!

Hi,
I have tested with the old driver version (175.16), but the problem still occuring.

I have tested some more on this issue now and it would seem that my issue is completely down to the PBO memory transfers. I have changed to using AGP transfers (wglAllocateMemoryNV) and it seems to fix my problem.

So in summary I am not sure if my problem is the same as yours…