I am currently trying to find the right way to use OpenGL. Right now I am using several VBO's, each with about 1 - 3mb of data.
But somebody recently told me that was a bad idea and I should try to use only 1 VBO in the entire application. This way the performance would be much better.
However, using only 1 VBO would make for a huge overhead in my application because then I would have to sort the contents by texture and shader to minimize the number of times I had to change either of those.

Would that be worth it? All this overhead on the application, would that pay of in terms of performance? Is switching a VBO such a costly method?

Thanks in advance.