如何在渲染大量UI控件时在WPF中获得最佳性能?

时间:2010-12-12 09:01:05

标签: .net wpf performance

我正在开发一个WPF应用程序,其中许多UI控件同时呈现并且它减慢了动画等等。有什么方法可以阻止它吗?

5 个答案:

答案 0 :(得分:7)

在不了解您加载控件的具体方式的情况下,很难说。但是,这是我的提示和提示:

  • 除非您实际上正在动态更改集合的内容,否则不要使用ObservableCollection。如果您可以使用列表,请使用它。我们一直在使用ObservableCollection,就像一堆新手一样;改变这一点大大加快了我们的申请。

  • 除非属性确实发生变化,否则不要调用PropertyChanged - 如果需要,请与之前的属性进行比较。

  • 考虑应用程序的可用性。如果同时显示许多控件对PC造成混淆,那么它也可能会让用户感到困惑。你能在膨胀机中隐藏它们中的一些吗?把它们放在不同的标签上?有没有办法显示可能使应用程序更直观的更少信息?

  • 检测代码/添加一些定时日志记录,并检查是否真的是导致问题的渲染。然后考虑场景背后的计算和关系(请参阅前两个提示,了解您可以更改的内容)。

答案 1 :(得分:1)

MSDN有一些建议:msdn wpf perrformance

还有我最喜欢的新手博客:Wpf Tutorial

答案 2 :(得分:1)

来自VS2010开发团队的Paul Harrington看看article on WPF Performance tuning。它有很多关于WPF性能的有用提示,并列出了这些人使用的工具。

答案 3 :(得分:0)

添加更少的控件,使用更少的动画或获得更好的视频卡。 :)

答案 4 :(得分:0)