Observing VBO max. recommendations?!

Hi. I was wondering if anyone has observed any performance degradation from not following the recommendation for maximum number of vertices and indices (GL_MAX_ELEMENTS_INDICES, GL_MAX_ELEMENTS_VERTICES) using VBOs. Specification talks about the implementation “may operate at reduced performance” but in the tests that I have done, I have never seen any penalty from exceeding these values. In fact I have only observed increased triangle throughput when increasing the VBO vertex buffer (to at least 20000). This is with a 7800GT which reports values of 4096 for both indices and vertices. So my question is if anyone is actually paying attention to these values?

Perhaps these values are set conservatively such that a high number of additional vertex attributes (normals, custom) does not influence the throughput adversely when within the recommended values. Has anyone any experience or comments on this?

kind regards,
Nicolai de Haan Brøgger

Personally, I overrun this recommendation all the time and I don’t notice any hits (when using glDrawArrays). I guess this is because even if you broke up the VBOs, you’d then have to have multiple bind and draw steps.

It’s probably a bigger issue when you have an index array (and are using glDrawElements) that has indices which jump around >4096 values at a time, as this would most likely blow the cache between each vertex.