jogl TextRenderer slow because of glDrawArrays

hello, i have an application that renders lots of text. i have noticed a performance impact (framerate down by 50%) in the function end3DRendering(). using a profiler i could track down the problem to the opengl call to glDrawArrays in the PipeLined_QuadRenderer.draw(). i saw that there is also a drawIMMEDIATE() function which is currently not used.

i replaced the draw() function with the drawIMMEDIATE() and the performance impact was gone. it didnt even show up in the profiler anymore.

why is the glDrawArrays function so slow?

this is a GF8600GT, jogl-rc6.

I noticed the same performance loss with rc7 (http://www.java-gaming.org/forums/index.php?topic=17665.msg140706#msg140706)

I’ve got a Geforce 7600 GT

a thank you! sorry that i did not see this thread, and opened a new one.

if i understand it correctly, vertex arrays are used to render the glyph-quads.

IMO, vertex arrays should only be used for high-polycount-meshes. in this case where the polygons are only quads, the immediate mode is sufficient. some while ago i did render-tests with a tile-based terrainengine, and also here, rendering the tiles with vertexArrays resulted in a worse performance than without.

Can you please provide a small test case or benchmark which illustrates the slowdown? We have not seen this performance drop in the development of NASA’s World Wind Java and derived applications.

Note that these forums don’t seem to be allowing new attachments for some reason. Please email me at kenneth dot russell at sun dot com with any test cases.