I found bitmap font classes are very slow, the main reason as below in class BitmapFont:
1. byte width = dataIn.readByte(); in public boolean loadFont() throws Exception
For Chinese or Japanese, almost characaters in same width, so this implementation isn't needed.
2. In public boolean loadChars() throws Exception, the same png file is read more than one time, this is also lower performance. I did a test to show a UTF-8 text file (about 47K) on my device emulator, the png files are read about 1500 times, but all pnf files are only 437, if only read one time and process all images in png file, the speed can be faster about x1.5 than current.
1. byte width = dataIn.readByte(); in public boolean loadFont() throws Exception
For Chinese or Japanese, almost characaters in same width, so this implementation isn't needed.
2. In public boolean loadChars() throws Exception, the same png file is read more than one time, this is also lower performance. I did a test to show a UTF-8 text file (about 47K) on my device emulator, the png files are read about 1500 times, but all pnf files are only 437, if only read one time and process all images in png file, the speed can be faster about x1.5 than current.