2011-07-13 86 views
7

我有問題,在某些系統上我的WPF應用程序的UI表現我的WPF應用程序緩慢。在我的開發者系統上,它在某些其他系統上執行得很好,但性能非常糟糕。例如發生問題當移動拆分器時,調整FlowDocuments的大小或將鼠標懸停在按鈕上。爲什麼在某些系統上

,性能差異並不直接關係到電腦的明顯的「規格」。該應用程序在上網本(Intel Atom N550,1GB RAM,Windows性能指數:2.0)上運行正常,但在臺式機(I7 2600,8GB內存,ATI Radeon HD 5700,Windows性能指數:7.4)上無效。這兩個系統都運行Windows 7. 該應用程序使用.NET 4.0構建。我試圖強制使用RenderOptions.ProcessRenderMode = RenderMode.SoftwareOnly進行軟件渲染。但是,這完全沒有區別。

是什麼原因造成這個問題?我該如何解決它?

+1

兩個問題,首先,容易被忽視,從ATI爲降低電腦的驅動程序或用股票的Windows 7驅動程序,「只是工作」?第二,您是否使用任何自定義或第三方UI控件? – Seph

+2

問題可能出現在顯示驅動程序和驅動程序供應商的特定版本中 – sll

+0

您在這些機器上安裝了哪些Windows 7版本?我在Windows 7旗艦版上遇到過一些WPF性能問題,並且在同一臺機器上安裝Windows 7企業版後它已經消失。 – treetey

回答

7

這聽起來像它可能是我們受到影響的複雜WPF可視樹的應用程序刺痛了WPF 4錯誤。這是在這個線程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幀。

+0

@FromTheMountain,你有沒有得到這個固定的?安裝了修補程序工作嗎?請評論,我有同樣的問題。 – RayLoveless

+0

更新到.NET 4.5是否解決了這個問題? – RayLoveless

+0

@RayL - 我使用4.5,我仍然有這個問題。我也無法安裝KB2484841。我會下注到已經有的後來的dll版本中。但就像我說的,我仍然在使用複雜的可視化樹進行自動控制時遇到問題。 –

0

也許在x64與x86的問題呢?將平臺目標設置爲任何CPU。

+0

我也想過這個。我確實設置爲x86。不幸的是,將其設置爲任何CPU都沒有解決問題。 – FromTheMountain

+0

我們自己的某些應用程序在x64機器上的「任何CPU」上構建時遇到問題 - 您是否嘗試爲x64製作特定版本? – hyp

相關問題