document performance hits

I know this is a bit off subject, but OpenGL 1 was documented so beautifully, the only thing I have to mess with is the performance hits of any particular thing that I do.

One thing I didn’t know, and in no way could tell from reading the documentation or any tutorial on the matter, glStencilFunc() causes a severe performance hit if you change the function. I found this out when I decided to stencil some things on a per-sector basis… I ended up with a per-sector performance hit that just wouldn’t quit! I swear, I could have done three glGet calls for the price of one of those function changes.

Documentation WRT performance hits would have saved me a lot of time and energy.

Performance is a very subjective topic. Your performance example may occur on NVIDIA cards and/or ATI, but may not occur on SGI platforms for instance. It may also occur for the Radeon8x00 and GeForce4 cards, but not the Radeon9x00 and GeForceFX cards.

The only performance hints that can be configured are those by glHint which explicity ask for GL_FASTEST or GL_NICEST.
Apart from that, there are obvious performance cases (GL_NEAREST is faster than GL_LINEAR_MIPMAP_LINEAR in all implementations I’ve seen) but even in that case you could be surprised sometimes.

What you need is not a performance point of view in the OpenGL spec, it is a performance point of view from the vendor’s spec.
NVIDIA used to host a very handy web page that discusses pros and cons in OpenGL WRT to performance, but the page was obsolete so it has been deleted and not replaced yet. Anyway there are other performance-related papers hosted by nvidia and ati that should be available at http://nvidia.developer.com and http://www.ati.com/developer and for other vendors maybe such papers exist but I just don’t know where they are