Would VBO help me?

I have an app that basically draws maps for navigation. These maps contain roads, rivers, lakes, etc…The roads are implemented as GL_LINES using vertex arrays and the lakes are implemented as triangle strips, again using vertex arrays. Here’s the catch (if there is one), my data is not static. That is if a user is viewing a map in one part of the country, the data is loaded from disk and displayed. If the user moves to another part of the country, the old data is dumped and new data is loaded from disk. Would VBOs help me given the dynamic nature of my data?

It will depend on how much data you need to swap each time, and how often it is done. This is hard to say and you most likely have to benchmark it to find a good equilibrium.Adding VBO support for an already working vertex array setup isn’t that much work(at least not for static buffers). So unless your swaps are extremely frequent, you should definately give it a try. And if your swaps are too frequent, maybe you should try to limit that problem first(pre-loading,caching system, replacement algos etc.)

Originally posted by roffe:
… if your swaps are too frequent, maybe you should try to limit that problem first(pre-loading,caching system, replacement algos etc.)

This is exaclty the point. You know how slow disk access is. If you are not able to cache the data well enough, you won’t get any advantage by using VBO.
By the other point of view, improving the caching subsystem (if not already optimal) will probably give you a much better performance increase.