【问题标题】:Devexpress XPInstantFeedbackSource vs XPServerCollectionSource?Devexpress XPInstantFeedbackSource 与 XPServerCollectionSource?
【发布时间】:2012-02-22 11:46:07
【问题描述】:

我需要在DXGrid(WPF) 中加载大量数据,我知道我必须使用XPInstantFeedbackSourceXPServerCollectionSource 才能达到要求,但不知道使用哪一个,有什么想法优缺点?

【问题讨论】:

    标签: c# wpf devexpress server-mode


    【解决方案1】:

    XPInstantFeedbackSource 和 XPServerCollectionSource 都是 server mode 数据源。在这种模式下,数据感知控件向绑定的数据源发送请求,以便在需要时检索适当的数据部分。有两种不同的服务器模式,它们在控件与绑定数据源的交互方式上有所不同:

    重要提示:所有即时反馈源都是只读数据源。要在服务器模式下启用数据编辑,请使用将 AllowEdit 属性设置为 true 的服务器模式源。

    PS。与常规数据绑定模式一样,在服务器模式下,绑定控件允许对数据进行编辑、排序、分组和过滤。要了解服务器模式的限制,请参阅Server Mode Limitations

    P.P.S.也请看下面的文章:Binding to Data

    更新: InstantFeedBack UI(tm) 的实际 CPU 使用率(笔记本电脑、Intel Core i5、2.67 GHc、8gb RAM、NVIDIA GeeForce GT 425M、Win7x64):

    总 CPU 使用率在很大程度上仅取决于 WPF 呈现子系统的性能 (wpfgfx_v0400.dll)。

    【讨论】:

    • 感谢 Dmitry,我在 WPF 中使用 DXGrid 进行了测试,但存在以下问题:XPCollection 和 XPInstantFeedbackSource 加载了 10000 条记录。 XPCollection 效果很好,但需要花费大量时间并消耗大量内存,XPInstantFeedbackSource 很好,但似乎有一个错误!加载数据后,它仍然消耗 CPU 使用率的日志(7 到 40)%(在 Windows XP、7 32 位和 7 64 位上测试),知道吗?
    • 由 XPInstantFeedbackSource 提供支持的网格仅在由数据感知操作或滚动引起的异步数据加载以及在这些操作/滚动完成后更新可见单元格时占用 CPU。因此,CPU 使用率通常是由您的数据服务器引起的。完成的操作/滚动根本不使用 CPU。我在本地 MSSQLServer 上尝试了 1.000.000 条记录 - 快速滚动/排序/分组占用高达 25% 的 CPU,然后下降到默认的 1-2%(笔记本、Core i5、8gb RAM、Win7 x64)
    • 感谢 Dmitry,您的回答是正确的,但我不同意您对我的情况的看法,您所做的评论是我所期望的,但不幸的是,它不适用于我尝试过的任何机器。我没有编写自己的代码,我宁愿使用由 Devexpress 11.2.5 在 WPF 中移植的确切 GridDemo.exe 文件。我已经更新了问题并添加了屏幕截图。
    • 我已经用真实的 CPU 使用情况插图更新了我的答案(我使用的是最新的 DX online demo)。据我所见 - 性能很好。如果您发现系统性能下降,请首先检查图形系统功能(从 [rendering tier][19] 开始),可用于您的应用程序。
    • DmitryG 不要放弃,我知道这个讨论越来越多,但我已经说到点子上了,但我需要你让我清楚你所说的 [rendering tier] 是什么意思[ 19] ?我告诉我的客户更换它的显卡并进行新的测试。 WPF 中是否有任何设置强制它使用 GPU 而不是 CPU?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多