私のシンプルなキャンバスゲームは、Chromeでは正常に動作し、Mac / LinuxではFFで動作するようです。スマートフォンやWindows環境でテストする機会はまだありません。ダブルバッファリングは使用しませんが、それを使用するJS Canvasの例をいくつか見ました。
ダブルバッファリングの使用はいつ推奨されますか?特定のブラウザでのみ違いがありますか?重大なパフォーマンスヒットはありますか?
ありがとう!
私のシンプルなキャンバスゲームは、Chromeでは正常に動作し、Mac / LinuxではFFで動作するようです。スマートフォンやWindows環境でテストする機会はまだありません。ダブルバッファリングは使用しませんが、それを使用するJS Canvasの例をいくつか見ました。
ダブルバッファリングの使用はいつ推奨されますか?特定のブラウザでのみ違いがありますか?重大なパフォーマンスヒットはありますか?
ありがとう!
回答:
キャンバスベースのゲームをダブルバッファリングすると、確かにパフォーマンスが低下します。フレームごとにキャンバスのサイズに等しいピクセルを追加で描画します。キャンバスベースのゲームでは、ほとんどの場合、キャンバスへの描画が最大のボトルネックであり、特にモバイルデバイスでは、できる限り制限する必要があります。
Chromeには、GPUアクセラレーション(最新バージョン)と、モバイル環境では見られないほど優れた高速JavaScriptエンジン(V8)が搭載されています。Chromeでも、ダブルバッファリングを実装すると速度が低下します。
簡単に言えば、ダブルバッファリング( "ティアリング"に対処する)の利点は、おそらく最も高いパフォーマンスヒットに値しません。
html5ゲームをダブルバッファリングする必要はありません。ブラウザは、スクリプトの実行後にのみキャンバスオブジェクトを更新することで、これを既に処理します。http://www.mail-archive.com/whatwg@lists.whatwg.org/msg19969.html