作成中のウィジェットにアイテムをレンダリングする際に問題があります。これが私がやっている方法です:
- サーバーからIDのリストを取得します(実際のデータはなく、IDといくつかのメタデータのみ)。
- アイテムのリストをループし(平均で 90 ~ 10 個のアイテムがあります)、 panel.items.add({html: 'some place holder div with id'}) を使用してアイテムを追加します
- ID をループし、サーバーに非同期呼び出しを行って実際のデータを取得し、グラフを作成して適切なプレースホルダー ID 内にレンダリングします。
ステップ 3、驚くことに、最も多くのデータをロードするステップであるにも関わらず、正常に動作します
ステップ #1 は非常に高速です。単一のサーバー呼び出しを使用して、サーバーから ID のリストを取得するだけです。
ステップ#2が問題です。これは、より明確にするためのコードのスニペットです。
for (var i=0; i<meta.length; i++) {
var item = meta[i];
var divId = "graph" + meta.id + ..etc;
panel.items.add({
html: me.getDivHTML(divId, meta, ...);
});
}
これには 2 つの問題があります。1 つ目は、画面に 90 div をレンダリングするのに 1 分以上かかることです。2 つ目は、段階的にレンダリングされず、レンダリングが完了するまで待機し、すべての div を一度に表示します。
私はクロムを使用しています。私は何を間違っていますか?これらの div のレンダリングを高速化するにはどうすればよいですか?