为什么我的WPF应用程序在某些系统上运行缓慢

时间:2011-07-13 12:29:40

标签: .net wpf performance

我在某些系统上运行WPF应用程序的UI时出现问题。在我的开发人员系统上,它在某些其他系统上执行得很好但是性能非常糟糕。出现问题,例如移动分割器时,调整FlowDocuments的大小或将鼠标悬停在按钮上。

性能差异与计算机明显的“规格”没有直接关系。该应用程序在上网本(Intel Atom N550,1GB RAM,Windows性能指数:2.0)上运行正常,但在桌面计算机上不行(I7 2600,8GB Ram,ATI Radeon HD 5700,Windows性能指数:7.4)。两个系统都运行Windows 7。 该应用程序使用.NET 4.0构建。我试图使用RenderOptions.ProcessRenderMode = RenderMode.SoftwareOnly强制进行软件渲染。然而,这根本没有任何区别。

是什么导致了这个问题?我该如何解决?

2 个答案:

答案 0 :(得分:8)

这听起来可能是我们受到骚扰的Wpf 4错误会影响具有复杂Wpf可视树的应用程序。它在这个帖子http://social.msdn.microsoft.com/Forums/en/windowsaccessibilityandautomation/thread/6c4465e2-207c-4277-a67f-e0f55eff0110中讨论过。它甚至影响了VS 2010中的Workflow 4设计师 - 请参阅http://social.msdn.microsoft.com/Forums/en/wfprerelease/thread/1f20c37f-1b9e-4b6d-904f-a6b518e4187a。根据该主题,您可能需要尝试一个修补程序:http://support.microsoft.com/kb/2484841

如果这是问题,可以通过在应用程序挂起/断断续时将调试器附加到应用程序来查看是否存在问题,并查看堆栈上是否有大量UiAutomation InvalidateAutomationAncestors框架。

答案 1 :(得分:0)

可能是x64与x86问题?将平台目标设置为任何CPU。