Hello,
I hope this isnt too basic for advanced forum but here we go
currently I try to optimize our 3d engine and created a list of what gets drawn. This list is sorted by texture binds. The sorting is only done once so its not the performance issue...
there is no "visibility" check so all data gets sent to GL
however I get different types of results
the test is 3 meshes each with a single texture at a total of 1500 polys and all of them are drawn 400 times in a big grid.
on the ati radeon mobility 9600 it makes no difference at all if they were sorted for textures or not, nor if I use VBO or display lists for them
on the nvidia geforce 4 4200 there is no difference if I sort or not either, but if I use display lists or VBOs. Like when I use VBO I get a constant amount of FPS no matter how many objects I see in the screen. If I use display lists it gets faster the less is drawn on screen, and even faster if the whole model is in a single list with 3 tex binds, instead of 3 lists for each tex bind.
so for ATI:
no matter if sorted or not, nor if VBO or DList
constant fps
Nvidia:
no matter if sorted, but perfomance is:
3 lists (external tex bind)
VBO (external tex bind)
1 list (containing the other 3 and tex binds) fastest
and when the lists are used its dependant on how much is seen.
So I wonder is sorting for textures actually a performance gain and did nvidia optimize their display lists so much that on their cards their is nothing better to use for static models?
or is it that both cards are too strong on performance so that changing textures like 1200 times is no problem for them
I dont run on latest drivers for the nvidia so their VBO loss might be gone now, but the engine should run on older specs as well so...



though that might be even a bit too low-end