Original Post
I'm building a simple GUI system in openGL for my video game. I've doing it for several reasons, one because if never done it before and two to seperate the rendering code from the code for displaying a screen. Thus making it easier to build and maintain and it allows me to change to API should I choose without effect anything but the rendering code. Now, I've come up with an idea that I belive should in theory improve the performance of my GUI since I'm getting a slow down of around 20% when going from 11 objects on screen to 54. The idea is to create a render list the idea being that instead of rendering an object when its called, the render list is checked and if the texture for that request is not found(indicated by its index value in the texture array) that request is added to the list. If it is found that that request is added to a stack in the render list for all requests using that texture . Then another method would be called to render all requests in the render list. The whole idea is based on the theory that by reducing texture swaping to a bare minium, the over all frame should increase. So, before I being attempting to tackle this issue will it work and what sort improvement am I likely to get? Also has anyone developed something like this before? And how did you handle this issue?