画像閲覧用のページを作りました。このページには、私が書いていない他のコードが含まれています。このページは、読み込み時に 40 個の小さな画像を読み込みます。次に、ユーザーが下にスクロールすると、ajax を介して 40 枚の画像の追加ページを読み込むことができます。15 ~ 20 ページになると、ページの速度が大幅に低下することに気付きます。アプリのカウンターを確認すると、CPU が 100% に達し、メモリが 3GB を超えることがあります。そうすると必然的に、JQuery の実行に時間がかかりすぎるというモーダルが表示され、スクリプトの実行を停止するかどうかを尋ねられます。最大 800 枚の画像を含むページは大きな負荷であることに気付きましたが、JQuery の問題は、一部のコードがこのますます大きくなる dom オブジェクトのグループを繰り返し処理している可能性があることを示唆しています。15 ページほどを過ぎると、指数関数的に遅くなるように見えます。20ページになるとほとんど使い物にならなくなります。
まず第一に、これほど多くの画像がある場合、最小限の JS でもページを効率的に実行することは可能でしょうか? 次に、JS を「トレース」し、実行されている関数を確認して、最も可能性の高い原因を特定するための推奨される方法はありますか? これは私にとって最も重要です - Firebug で行う良い方法はありますか?
ありがとう :)
編集 - 答えが見つかりました。読み込みに失敗した画像を一般的な画像に置き換えるために使用されていた古いコードがいくつかありました。このコードは Jquery の .each 演算子を使用していたため、ページが読み込まれるたびに、ページ全体と新しい ajax の追加ごとに繰り返し処理されていました。ajax で読み込まれた画像が影響を受けないように、CSS でチェックする必要がある画像のクラスを設定します。