View Full Version : Max render target textures?

09-17-2007, 09:23 AM
The performance of my application drops when trying to use 80 render targets (framebuffer objects) instead of 70...

Is there a maximum number of render-to-texture targets in OpenGL? How can I retrieve it?

Thanks in advance.

09-17-2007, 09:46 AM
working set > vram = paging

09-17-2007, 12:19 PM
To clarify, you're using too much video memory, which is forcing the implementation to page out some of the video memory to main memory. This takes up performance.

09-17-2007, 01:24 PM
That is very strange... I have a video card with 256 MB. My billboards are 512x512x4 (RGBA) so that the 70 billboards "only" eat 70 MB. There is nothing more in the screen except a 3D model which has 100.000 triangles which takes less than 10 MB.

However if there can not be any other possibility, I'll check my memory consumptions.

Thanks for your answer.

PD: There is no way to ask to OpenGL for the vide memory available, is it?

09-18-2007, 05:03 AM
I guest your software become fillrate bound when you reach 80 billboard. Try 80 billboard with a lower resolution (256*256) and observe the cost ratio between 70 to 80 billboard in 256 and in 512. If this value is really lower with 256 textures, you are definitly fillrate bound.

09-18-2007, 08:03 AM
There might also be some internal hardware limits you are hitting.

For example, the hierachical zBuffer of ATI cards before X2000 uses special on-chip memory:
If too much depth buffers are allocated, rendering will be slower.

Or it is just a driver issue...

These kind of thing cannot be queried as far as i know.

In the end, you will have to find a workaround... - Try lowering the resolution.
- Try to cumulate 4 rendertarget together to 1024x1024
- Try it on different hardware