P-155: Phoenix Engine Update 8: Framerate issues and Optimising OpenGL programs
I have noticed, after the new features that I have added to the project, that the framerate has become very slow.
There are a number of possible explanations for this. The first one that springs to mind is the fact that I am using, for some of my rendering, the older GlBegin() and GlEnd() pairs. This is known as “Direct Mode” and is significantly slower than the modern approach of using VBO’s, or “Vertex Buffer Objects”. Switching to indirect mode at this stage would be a lot of work, however, and I have a feeling that the performance bottleneck is elsewhere in the code.
I could also implement Frustum culling to improve performance. Frustum culling is where only the objects within the view frustum are rendered. At the moment, I have not implemented any optimisations at all, so every poly is being drawn, regardless of whether or not it is in view. This is very inefficient, and frustum culling could improve performance a lot.
There are also, no doubt, other areas in the code that could be optimised to improve performance.
