About rushing to top rendering speed!!

ATI9700 or GeofrceFX5600 is very high speed 3d card. but I got problem when I want to rush to card’s top speed with multitexture and alpha test.
I just render some simple model. 100 models.
here r two screenshots.
In result (1), I rendered 100 models with 4 textures, every model use two glDrawElements , 1 is to draw a strip, 1 is to draw a triangles list.(my strip generator can’t make the tree a whole triangle strip model). The speed is about 4,138,000 triangles/sec.
In result (2), I rendered 400 triangle_strip models with same textures(4 * 100 models). now I almost got the top speed: about 31,216,650 tri/sec !

I really don’t understand why two results r so different . who can help me ?

It looks like a fillrate problem… your leaves texture seems to take a lot more screen space in the first screenshot than in the second one. Overdraw (each pixel being drawn multiple times) also seems to be a problem.


Try drawing the trees in front to back order.


It could be because you’re clearing the screen. You might have a per-frame constant overhead which is going to make your tris/sec rate increase as you increase the amount of triangles rendered per frame.

Try not clearing the screen, see if your numbers normalize.