我有一些与Silverlight Enterprise应用程序开发相关的性能问题

时间:2009-10-14 05:56:04

标签: silverlight virtualization itemssource serialization

我有一些与SL Enterprise应用程序开发相关的性能问题。

- 我们有10.000行绑定到ItemsSource控件。 (数据绑定时共有100.000+个UIElements)

Q1。如何在另一个线程中执行此绑定?因为Silverlight在绑定发生时卡住了。

问题2.您可以使用与在ItemsControl中相同的视觉灵活性建议的其他方法。

- 我们从服务器中提取了总共60MB(解压缩的二进制序列化XML)数据,让我们的SL用户使用它的时间为20分钟。

问:我们有一些内存泄漏,并且很难弄清楚内存中的内容是什么?我们有工具来展示这个吗?

根据我们最新的测试,UIElements是充满记忆的。我们有5个嵌套的Itemscontrols,跟踪很多内部控件的“加载”事件,以便用计算填充适当的值。据我所知,虚拟化不适用于物品控制。

感谢您的所有时间。

1 个答案:

答案 0 :(得分:1)

如果您正在使用DataGrid,则默认情况下应启用虚拟化。

一次拉出那么多数据也可能会造成问题。我试图找到一种涉及服务器端分页的解决方案。

修改

刚看到您正在使用ItemsControl。您将看到的最大性能提升(甚至在服务器分页工作之前)将是虚拟化工作。这是一篇关于使用通用ItemsControl执行此操作的好文章(它还解决了事件未正确触发的问题):

http://blogs.claritycon.com/blogs/lee_roth/archive/2009/09/16/custom-panels-in-silverlight-wpf-part-4-virtualization.aspx