0

構成可能/カスタマイズ可能なビューを持つ Silverlight Web アプリケーションがあります。

iGoogle を考えてみてください。

ユーザーは、複数の表形式のパネル (実際には telerik コントロール) を追加して、必要なコンテキストで必要な情報を表示するように構成できます。

パフォーマンスが十分ではありません。

dotTrace のパフォーマンスを分析すると、LoadComponent メソッドへの呼び出しが 72 回あります。

        System.Windows.Application.LoadComponent(this, new System.Uri("/Company.Web.Portal.Views;component/Panels/TabularPanelContentView.xaml" +
                    "", System.UriKind.Relative));

これらの 72 回の呼び出しの合計実行時間は 11,465 ミリ秒で、UI が使用可能になるまでの一時停止時間の 36.85% です。時間の 30% が LoadComponent メソッドの呼び出しにあり、さらに 6.64% がその呼び出しツリー内の Telerik メソッドにあるようです。

そのため、Xaml の読み込みとその xaml からのオブジェクトの作成がコストのボトルネックになっているようです。

これを改善する方法はありますか?確かに、毎回 URL から Xaml にロードするため、xaml の解析にはコストがかかります。これなしで同じ xaml 定義から複数のオブジェクトを作成するベスト プラクティスの方法はありますか?

4

0 に答える 0