Dot-Net

為什麼我的 WPF 應用程序在某些系統上執行緩慢

  • July 25, 2011

我的 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 錯誤,它影響了具有復雜 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 幀,您可以了解這是否是問題所在。

引用自:https://stackoverflow.com/questions/6678878