我在應用程序中遇到性能問題。基本上,我點擊一個按鈕,並用數據綁定數據填充列表(這是因爲大量數據而被虛擬化),然後單擊另一個按鈕,這會將一行添加到關聯的列表視圖。我的含義很模糊,因爲我認爲只需要說明界面中實際發生的事情很少。「度量」的性能問題
這是我知道的:
- 我沒有看到運行Windows 7 Pro的我的我的仡開發計算機上的問題,也沒有對XP SP3的機器體面的規格。我只在運行帶有4 GB RAM和Core i5 CPU的Win 7企業(比XP桌面更加強大)的某些品牌的筆記本電腦(Lenovo ThinkPad)上看到它。
- 由於上述發現,我不認爲這是代碼問題。
- 我使用Microsoft的PerfView工具進行了配置,並注意到我會認爲是一個對UIElement.Measure的調用的數量非常大(我們的代碼沒有直接調用過),這是我在配置文件時看不到的其他機器。
- 該筆記本電腦的分辨率爲1360x780,所以我認爲可能是小分辨率導致GPU不必要地呈現控件,因爲我可能會做一些數據綁定(這可能會解釋大量的Measure()調用) )。我延長了筆記本電腦的顯示器,我的24" 顯示器,並沒有看到任何改善。
現在我假設的問題是與GPU,我已經更新了沒有改善的驅動程序。
- 雖然我不認爲它與代碼的問題,有沒有一個WPF相當於「SuspendLayout()」
- 有沒有一種方法來分析GPU的性能,看是否在某些過程 正在敲定它
- (遠景)有沒有人有類似的性能問題,似乎是計算機的具體和sug如何追蹤它們?
對不起,如果這是一個模糊的問題。我試圖使其符合SO的使用要求。讓我知道你是否想要更多信息。作爲附錄:該程序使用WPF,C#4.0,這個問題似乎圍繞着Telerik控件(儘管我不認爲它們是可疑的,因爲我們在其他地方沒有問題地使用它們)。
你真的覺得不張貼代碼,以幫助?如果沒有太多的話,那麼應該沒有太多的代碼要發佈。 – Paparazzi 2012-07-27 22:05:02
有很多代碼被解僱,但就像我之前提到的那樣,因爲它在其他計算機上不是問題,硬件速度越來越慢,我相信這不是一個編碼問題。我還使用其他分析器來分析代碼並提出相同的建議。 – Devin 2012-07-27 22:17:27
[WPFPerf](http://windowsclient.net/wpf/perf/wpf-perf-tool。aspx)會給你一些洞察什麼是佔用這麼多的週期,儘管聽起來你已經發現它是與佈局相關的。我認爲我的下一步是找出哪些控件在筆記本電腦上更經常地執行其佈局邏輯。它可能會給你一些線索,以便繼續。 – 2012-07-27 22:23:10