I am unable to make a comparison with old immediate mode,because I think
devurandom's old gdebugger test with immediate mode didnt have a % and
number of calls per frame info attached...

just to list major hoggers:(scene:default view position in map rush with
'advanced base')
without shadows:
glDrawArrays - GL_TRIANGLE_FAN 18.73% 3012 times
glInterleavedArrays 18.73% 3012 times
glPopMatrix 14.06% 2261 times
glPushMatrix 14.06% 2261 times
glAlphaFunc 5.97% 960 times
glDisable - GL_ALPHA_TEST 5.97% 960 times
glEnable - GL_ALPHA_TEST 5.97% 960 times
glBindTexture - GL_TEXTURE_2D 3.72% 599 times
glEnable - GL_TEXTURE_2D 3.72% 599 times
glTranslatef 2.08% 355 times

with shadows:
glDrawArrays - GL_TRIANGLE_FAN 19.07% 4000 times
glInterleavedArrays 14.36% 3012 times
glPopMatrix 10.78% 2261 times
glPushMatrix 10.78% 2261 times
glVertexPointer 9.42% 1976 times
glAlphaFunc 4.77% 1000 times
glDisable - GL_ALPHA_TEST 4.77% 1000 times
glEnable - GL_ALPHA_TEST 4.77% 1000 times
glDrawArrays - GL_TRIANGLE_STRIP 4.71% 988 times
glBindTexture - GL_TEXTURE_2D 2.86% 599 times
glEnable - GL_TEXTURE_2D 2.86% 599 times
glVertex2f 1.70% 335 times
glTexCoord2f 1.60% 210 times
glTranslatef 1.60% 355 times
glRotatef 1.00% 210 times

seems the major problems are:
1.too many glPop and glPushMatrix
2.overused alphaFunc state change
3.inefficient drawing measures(apparently drawArrays and interleavedarrays
got called per polygon,prolly it was even worse with immediate
mode(drawArrays + interleavedarrays = glBegin() + glEnd() + glColor4ub() +
glTexCoord2f + glVertex3f * numVerts ) )
4.frequent texture binds
5.some fillrate problems related to textures

Any hints/ideas/comments? :)
_______________________________________________
Warzone-dev mailing list
Warzone-dev@gna.org
https://mail.gna.org/listinfo/warzone-dev

Reply via email to