1

私のプロジェクトでは、Pivo​​tViewer-2 を使用して、エンティティのすべてのデータ要素を 1 つのカードに視覚的に表示します。1 枚のカードに積み重ねる必要がある 50 以上のデータ要素があります。必要なすべてのデータ要素を含むテンプレート (T4 としましょう) を定義しました。いくつかのデータ要素については、値コンバーター クラスを使用して、UI で使用可能な値に解釈します。

Silverlight Pivotviewer 2 クライアントは、Web サービスを呼び出してデータを取得し、オブジェクト コレクションを取得して PivotViewer の ItemSource プロパティに割り当てます。カードのレンダリングは、少ないデータ (50) で適切に機能します。カウントが増えると、pivotviewer のパフォーマンスが劇的に低下します。一般的なビジネス シナリオは、4000 ~ 5000 レコードです。

4025 レコードでテストしたところ、ピボット ビューアでデータをレンダリングするのに約 75 秒かかりました。75 秒は、アイテム ソースに割り当てられた時間データから、ピボット ビューアの完全なレンダリングまでがカウントされます。最初のロード後、期待どおりに正常に動作します。

  • さらに 3 つのテンプレート (T1、T2、T3) を導入し、それぞれ 1、2、3 つのデータ要素を表示しました。4 つのテンプレート T1、T2、T3、T4 がこの順序で割り当てられたピボット ビューアー。読み込みに82秒かかりました。

  • T4 テンプレート [50 以上の表示要素を持つ重量のあるテンプレート] を削減したところ、読み込みとレンダリングに 22 秒かかりました。

大規模なデータをピボット ビューアにどの程度効率的にロードできるかを提案してください。

最初に単純なテンプレートを使用してピボット ビューアをロードし、次にバックグラウンドでより複雑なテンプレートを動的に追加する回避策はありますか。

4

0 に答える 0