您好我应该这样:
new BitmapFont().draw("Hello World!");
new BitmapFont().draw("Hello Universe!");
要么
BitmapFont font = new BitmapFont();
font.draw("Hello World!");
font.draw("Hello Universe!");
这对性能有影响吗?
最佳答案
第一个选择不仅更糟,而且根本不是一个选择。它泄漏内存。如果您每帧都这样做,那么您的游戏将很快在手机上崩溃。
绝对不能使用实现Disposable的任何东西,否则您将丢失参考,否则它会泄漏。
在大多数情况下,第二个选项很好。如果您有数十个在每一帧上具有相同文本的字符串,则可以使用从BitmapFont(someStringCache = new BitmapFontCache(bitmapFont);
)创建的BitmapFontCaches,因此不必在每次绘制时都重新计算该字符串的字形排列。除非您发现游戏的帧率太低并且将问题缩小到CPU,否则我不会为之烦恼。