6

これは無害に思えるかもしれませんが、毎秒 30 フレームで 1000 回以上実行すると、加算されます。私が描く円には 3 つのサイズがあり、それぞれに独自の塗りつぶし色 (RGBA) があります。それらを一度画像として描画しdrawImage()、データ URL で使用する方が速いですか、それともarc()それぞれに対して行う方が高速ですか?

追加情報:

  • すべての円に 1 つのキャンバスを使用する
  • コンテキストとキャンバスがキャッシュされます
  • 現時点でのアークの完全な呼び出しは次のようになります

    this.scene.context.arc(newLocation, this.y+=this.speed/80, this.distance / 2, 0, Math.PI*2, false);

4

2 に答える 2

7

ここに画像の説明を入力

私のテストによると、drawImage()ほとんどの場合、を使用するよりも大幅に高速になりますarc()

このdrawImage()関数は、<img>または<canvas>要素のいずれかをパラメーターとして受け取ることができ、Firefox では<img>タグを使用する方が高速でしたが、他のブラウザーでは逆でした。

要約すると、単純な形状であっても、drawImage()

于 2012-09-16T22:27:08.950 に答える