パフォーマンスはモバイル端末上でのゲーム開発で最も重要なものです。それはハードウェアのパワーとリソースによって制限されます。 ゲーム開発は、注意深く賢く行う必要があります。 デュアルコアを搭載した携帯など、今日ますます端末は強化されています - しかし、andoridユーザーの大多数は中間クラスの端末を使用しているので、常にそのことを忘れないでください。 Androidの公式 ウェブサイトから引用すると:
効率的なコードを記述するには、二つの基本的なルールがあります:
yourSprite.setCullingEnabled(true);
Sprites はOpenGLへ冗長して適用されている多くの設定を共有しており、これにはとてもコストがかかっています。そこで SpriteBatch クラスの出番です。 SpriteBatch クラスはそうした冗長した呼び出しを省略します。そして最も重要なのは、全てのジオメトリ(三角形の頂点) と テクスチャ座標をまとめて一つの大きなバッファに格納し、細切れが非常に多い状態をなくしてパフォーマンスを大幅に向上させます。 そのため、多くのSpriteが同じ設定を共有している場合は(テクスチャが同じであることが必要です)、この機能を使用してください! 詳細情報についてはオリジナルのスレッドを確認してください。
ベストな流れは、まず始めに必要なオブジェクトを全て作成することです。実行中に新たにオブジェクトを作成すると、 GC (ガーベージコレクターGarbage collector) サイクルが引き起こされることがあり、結果としてユーザーはゲーム中にスローダウンが発生したと感じます。 そこで例えば、複数の弾丸を発射する銃のようなものを作成したい場合、新しい弾丸が必要になる度に毎回新規にオブジェクトを作成するのは無謀です。 共有プールを使って既に作成済みのオブジェクトを再利用するのが良いでしょう。詳細情報については、この記事を読みことを推奨します。
AndEngine アプリのパフォーマンスを数 %向上させるには、テーマ無しの背景を作成して、それを activity内で使用することができます。詳細な手順についてはこのスレッドを参考にしてください。