动态XAML加载性能LoadModule

时间:2012-09-20 15:16:40

标签: silverlight xaml dynamic-loading

我们有一个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定义创建多个对象而没有这个?

0 个答案:

没有答案