WPF ItemsControls,滚动时CPU使用率非常高

时间:2010-11-02 09:06:36

标签: wpf performance scroll cpu-usage

我很好奇其他人是否有过与WPF ItemsControls(ListView,ListBox等)类似的经历,希望对我有一些建议。 :)

只是一个常规的L​​istBox,说... 300-500项(有或没有数据绑定,没有明显的区别),启用虚拟化,当我点击并向上和向下拖动滚动条“拇指”(向上滚动/我注意到我的CPU(3.4ghz)使用量大约达到了90%。虽然一切都是合理的响应,但它确实有点犹豫。我在大多数ItemsControls中都注意到了这一点,我想知道它是不是我的电脑,或者这样的CPU使用是否是富有界面的合理妥协?只有具有此行为的ItemsControls;我没有发现ScrollViewer本身很慢。

ScrollViewer.CanContentScroll设置为false(使虚拟化毫无意义)加快了滚动速度。但是,项目选择变得非常慢,我没想到。调整大小/布局也会受到重创,但 是预期的。

与win32列表框进行比较时,使用<当滚动相同数量的项目时,3%cpu,我倾向于问这些问题(我试图远离win32但是:)。

是不是因为我使用的是XP(sp3,带有.NET 4.0)?

是我的显卡(NVidia GeForce 7300 GS pcie)吗?

或者,我正在经历正常的事情?

我现在没有任何办法在不同的(更快的)机器上进行测试,所以我依赖于其他有任何想法的人的经验。我觉得WPF只与XP兼容并且针对Vista及更高版本。

是否有一个WPF程序我可以作为VS / Blend以外的基准运行,以了解使用WPF的应用程序的一般性能?

感谢您的时间。 :)

0 个答案:

没有答案