AndoroidでCanvasをさくさく動かすためにいろいろ検証したことを一旦メモしておきます。
※ Android 4.2.2 GALAXY NEXUS にて検証。
Canvasサイズが小さいほどパフォーマンスが良い
当たり前といえば当たり前なのですが、Canvasの大きさは最低限にしておいたほうがパフォーマンスが出ます。なので画面と同サイズのフルCanvasのサイトをつくった際はポートレート(縦)よりもランドスケープ(横)表示で見たほうがFPSがあがります。(ランドスケープの方がUIの面積が大きくCanvasの面積が小さくなるため)
drawImageする画像のサイズに気を配る
Retina対応として2倍の画像を読み込んでdrawImageで半分にすることはよくあると思いますが、最終的な画像サイズが同じだったとしてもソースとなるImageオブジェクトが大きければ大きいほど動作は重くなります。
計算用のCanvasと描画用のCanvasを分けたほうがパフォーマンスがあがる(こともある)
1つのCanvasであれこれやるよりも、パーツごとに非表示のCanvasに描画してその結果を描画用CanvasにdrawImageしたほうがパフォーマンスが上がることがありました。引き続き検証したいです。
メモ程度ですが、今回は以上です。