【问题标题】:I have some performance related questions about Silverlight Enterprise app development我有一些关于 Silverlight Enterprise 应用程序开发的性能相关问题
【发布时间】:2009-10-14 05:56:03
【问题描述】:

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

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

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

Q2.您建议的任何其他执行此操作的方法,具有与 ItemsControl 中相同的视觉灵活性。

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

Q1.我们有一些内存泄漏,很难弄清楚内存中的内容是什么?我们有工具来展示这一点吗?

根据我们最新的测试,UIElements 是填充内存的元素。我们有 5 个嵌套的 Items 控件,跟踪内部控件的许多“加载”事件,以便用计算填充适当的值。据我所知,虚拟化不适用于项目控制。

感谢您的所有时间。

【问题讨论】:

  • Sen doldurma Denetim 的 ItemSource nelerdir? O DataGrid mi?
  • Ayrıca, bu İngilizce bir sitedir。 İngilizce için çevirmek gerekir.

标签: silverlight virtualization itemssource serialization


【解决方案1】:

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

一次提取这么多数据也可能会带来问题。我会尝试找到某种涉及服务器端分页的解决方案。

编辑:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-06
    • 1970-01-01
    • 2013-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多