2011-01-04 6 views
5

このテクノロジは、小さなテンプレート用ですか、大きなデータセットを表示するために使用できますか? 1000行20列のテーブルなど?Jqueryテンプレートのパフォーマンス

このような場合のパフォーマンスのスケールはどのようになりますか?データを表示する理想的でクリーンな方法は、Webサービスから返されたJSONifiedデータをJQuery Templateにフィードすることです。それは理論的には洗練されているように見えますが、大きなデータセットでは実際に飛んでいますか?

答えて

5

レンダリングを行うブラウザによっては、多くの部分が異なります。 IE6はかなり遅くなることがあります(HTMLマークアップの1,000行の大きな行を転送し、ドキュメントに挿入することは高速ではありません)。

ここはa jsperf benchmark that generates 1,000 rows of 10 columns and renders itです。私はChromeの9000行をレンダリングするのに200-250msの平均をとっています。

もっと重要な質問は本当にあります。常にUXの方が優れています。

+0

私は実際に約600を表示するつもりです。すべての行をページングせずに一度に表示するように求められました。私は、Webサービスから受け取ったデータをキャッシュし、ユーザーがスクロールしながらそれをチャンクに表示するようなことを提案しました。私はJqueryをかなり新しくしており、それを示す多くの例は見ていません。 – sarsnake

+0

ユーザーがスクロールするときに更新の複雑さを必ずしも必要としません。目に見えるデータセットをレンダリングしてからすぐにレンダリングを開始し、残りのデータを〜100行のチャンクに追加してください。さらに、最初に表示される行セットだけをWebサービスから要求してから、最初のビットをレンダリングした後すぐに残りを要求することから始めてください。それは何かが見えるまでの総時間をスピードアップするはずです。これを行う主な欠点は、行が追加されるにつれてスクロールバーのサイズに絶えず影響を与えることです。 –

+0

Daveさん、ありがとうございますが、どうやって動作するのか分かりません.Javascriptはシングルスレッドではありませんか?私のための遅延は、Webサービス側ではなくJSONデータ(Webサービスからの)側のループで発生します...なぜ、私は何度Webサービスを呼び出すのでしょうか?あなたの方法はブラウザをロックしないでしょうか? – sarsnake

関連する問題