I have the exact same problem, like you (but not for text rendering, but for rendering an tilemap, which is the same thing like you do but with tiles
) and i use the drawtex extension.
I have to mention that i have MORE fps on the emulator than on my G1 if i use opengl for rendering its slower than if i use Canvas!
Full tilemap with canvas @ 32BIT(!) gives me ~45 fps, and no caching here. With opengl i get barely ~15fps.
So i calling 176 times die (GL11Ext)gl.drawTexiOES(...); call. And ONE TIME i call gl.glBindTexture
But it doesn't affect fps if i call glBindTexture 176 times than just 1 time. Thats driving me crazy, because, yeah on the PC i coded already an 2d opengl game an i know that these calls are very expensive, and just 176 drawTex calls should be fine if i do not call bindTexture to often.
Yeah? I don't know whats going on there, there is not much more code than just an for loop in the GLRenderer(just the common pattern with GLSurfaceView and so on...) that renders an loaded texture (16bit/32bit doesnt affect performance, like it does in canvas)...
It just "feels" if the G1 would use an software OpenGL implementation, that uses just pointers for texture switches in the memory... but i know that the G1 supports GL and the drawTex ext...