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