It appears the biggest bottleneck now is font rendering, especially with alpha. Our implementation of measureAdvance involves actually drawing, so its painfully slow. This is a huge issue in drawTextBox() where fonts are auto-sized (this may also happen even in drawText), so hundreds of fonts are tried. Add in alpha, and its pretty much a joke.
It appears the biggest bottleneck now is font rendering, especially with alpha. Our implementation of measureAdvance involves actually drawing, so its painfully slow. This is a huge issue in drawTextBox() where fonts are auto-sized (this may also happen even in drawText), so hundreds of fonts are tried. Add in alpha, and its pretty much a joke.