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

标签 .net wpf performance

我的 WPF 应用程序的 UI 在某些系统上的性能有问题。在我的开发人员系统上,它表现得很好,在某些其他系统上,但性能真的很差。出现问题,例如移动拆分器、调整 FlowDocument 大小或悬停在按钮上时。

性能差异与计算机明显的“规范”没有直接关系。该应用程序在上网本(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 强制软件渲染。然而,这根本没有区别。

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

最佳答案

这听起来像是 Wpf 4 的 bug,我们被它刺痛了,它影响了具有复杂 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 帧来了解是否存在此问题。

关于.net - 为什么我的 WPF 应用程序在某些系统上运行缓慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6678878/

相关文章:

c# - 获取数据网格的滚动查看器

c# - Decimal.MinValue 的成本超出您的预期

c# - 使用 Azure Key Vault RSA key 加密和解密字符串

.net - 修复Youtube URL RegEx(.NET ReGex引擎语法)

c# - 光标位置函数返回错误值

python - 有效地查找 Python Array/List 中 N 个最大元素的索引

performance - Normalize.css 应该作为单独的文件保存还是编译(通过 postcss @import)到最终的 "styles.css"文件中?

.net - Internet Explorer - 如何转义单引号

c# - MVVM - 按钮命令绑定(bind)不起作用

c# - 使数据网格所选行文本颜色透明?