大規模なWebアプリケーションでパフォーマンスの回帰をトラブルシューティングしています。私は最近、IFRAMEを削除して内容を直接元のDOMに入れて、パフォーマンスを改善しました。確かに、最初の読み込み時間は良いですが、私は奇妙な問題を発見しました。ブラウザレイアウトのパフォーマンスを測定する方法
このiframeを削除すると、さまざまなレイアウト(アニメーションやスクロール)の変更が大幅に遅くなるようです。私はそれがjavascriptではないことを知るために絞り込んだ。
タイマーとイベントで実行されていたすべてのJavaScriptを削除しました。
1秒のCSSトランジションを持つ要素にクラス名を設定するだけで、style.topとstyle.leftを変更するとパフォーマンスが低下することがあります。 (それはすでに絶対的に位置づけられている)。この要素は非常にゆっくりと新しい場所に移動します。IFRAMEでは40 + FPSでしたが、約5-10 FPSのように見えます。
実際のブラウザレイアウトのパフォーマンスを測定する方法があるかどうかは疑問です。私はこの問題をSafari、IE、Firefox、Chrome上で全面的に見ています。これらのいずれもうまく使えます(ただし、Firefoxが問題であると思われます)。
これは完璧です!ありがとう! Speed Tracerは、iframeを削除すると、はるかに大きなウィンドウの部分を再ペイントしていることを示しています。理由はわかりません(iframeの寸法ではありません)。私はフォローアップの質問を投稿しますが、これはWebkitレンダリングコードになっています。 – desau