デバッグ用に画面いっぱいに表示している文字列を全部消したら超速くなった。ごめんよJavaそしてWX310SA。
文字を書くときにはGraphicsクラスのdrawString()メソッドを使っていて、メインループ中でデバッグ用に73回呼び出している。描画系は概して遅い、という印象は常に持っているので(プラットフォーム、言語の違いに関わらず)まあわかるのだけど、本当にそれだけかしら?という感じもする。実際、drawString()の引数としていろんなメソッドを呼び出していて、Integer.toString()とかも結構ネックになりうる気がする。
軽く試してみたけどやはり一番のネックはdrawString()ぽい。drawString()を呼び出す回数に比例して遅くなっていく。まあデバッグ用なので実機で動かす時には消せばいいや。デバッグ表示しながら実機動作させる時は、もうちょっとまともな実装をしよう。
最近のコメント