私はちょっとしたHTMLキャンバスビジュアライザを楽しく作っていますが、それはChromeで恐ろしく実行されていることに気付きました.Firefoxではかなり悪いですが、iPhoneやiPadを含むSafariでは全く驚くほどです!なぜdrawImageはChromeやFirefoxと比べてSafariで非常に高速に動作しますか?
誰でも理由を説明できますか?
私はコードがかなり単純であるべきだと思いますが、基本的にはマウス(またはタッチ)の位置を描画してからdrawImageを使用してキャンバスを一時キャンバスにコピーしています。そこから表示キャンバスをクリアし、一時キャンバス(4回)をコピーしますが、drawImageを使用して回転、オフセット、透明度、スケールなどのいくつかの要素を適用します(いくつかの異なるglobalCompositeOperationsで再生します)。したがって、drawImageは合計で各ループで5回呼び出されます。
あなたはここでデモを表示することができます。http://lakenen.com/vis.html
任意の洞察力をいただければ幸いです!
PS。可能であれば、これをiPadで試してみてください。マルチタッチできちんとしています:)
ええ、私はdrawImageに絞るためにプロファイラーを使用しましたが、これは私の質問に答えることができません。なぜですか? Chromeチームと一緒に取り組む必要があるのですか、何か間違ったことをしていて、Safariだけでよりうまく処理できますか? – lakenen
実行中のマシンはなんですか?私のクロムはサファリの2倍の速さです。 (どのクロムのバージョンを使用していますか?) –
OS X Lion(10.7.3)でChrome 17.0.963.83を実行しています。 Chromeは3 fpsのようになりますが、Safariは40〜50の範囲(同じサイズのブラウザウィンドウ)です。 – lakenen