FTTextureFontImpl::RenderI() does a bunch of calls to back up the current blend settings and enable textures everytime it is called. These turn out to be a huge bottle neck when drawing a lot of text at once, and only need to be done once.
In my tests, by removing these calls and ensuring the correct blending and texture modes are set before batch calling FTGL, drawing 20,000 text strings goes from 300ms to 100ms.
Perhaps FTGL could include a stream-lined version of FTTextureFont?
Log in to post a comment.