First off, thanks for your code!
I'm very interested in your VBOFont classes, because I want to learn about VBO's and I want to learn about having fonts inside my apps

I decided to do some stresstesting, and I fed a 9K text to your tesselator.
I must admit I'm too lazy to get a profiler going at it

but I peppered your code with a few System.currentTimeMillis()
1 2 3 4 5 6 7 8 9 10 11
| before read file: 1152966958906 after read file: 1152966958921 before create glyphVector: 1152966959078 after create glyphVector: 1152966959125 after getOutLine: 1152966978359 after path iterator: 1152967186109 #closes = 9875 #cubics = 0 #lines = 41342 #moves = 9875 #quads = 88350 |
It takes the tesselateText() method in your class about 3.4 minutes to complete the file

The framerate was still acceptable, though (2800+ CPU, NVidia GF4ti)
I wonder where I could take some shortcuts to speed up the process? setting the "curvePoints" parameter lower than 2 created nonsensical glyphs

And secondly, if I want real, raw performance, should I stay away from truetype fonts, or pre-render them into a bitmap ? I suspect half-life 2 uses them for the console, so it can't be
that slow!