簡體   English   中英

WPF的高CPU使用率

[英]High CPU usage with WPF

在我的WPF項目中,如果我打開一個窗口,cpu使用率大約是30%-50%,但是當我最小化這個窗口時,cpu使用率下降到1%。 有人知道原因嗎? 謝謝

你的屏幕上有很多綁定(雙向)嗎? 這可能會導致高CPU。 還是很多動畫?

最終,您可以使用WPF性能套件來監控導致此高CPU負載的原因: http//msdn.microsoft.com/en-us/library/aa969767.aspx

Rody的好帖子,我只想添加一些內容,使用答案而不是評論,因為評論有最大限制..

我建議也使用Ants Profiler,它有2個星期的試用期 - 足以弄清楚發生了什么。 此外,如果您發布一些代碼,這里的人可以快速指出一些事情。

例如,如果你像Rudy所指出的那樣,你可以獲得大量的Bindings和Animations,以及過於復雜的控件和控件模板。 在堆棧面板內,邊框內對Stack面板的不必要組合進行質詢...使用TextBlocks而不是Labels,或者是否需要TextBoxes,如果它們是只讀的,請使用TextBlocks + Border。 你的ItemControl的項目太復雜了嗎? 等等...

此外,Ants Profiler可以向您展示您的“僵屍”對象。 您是否正確處置,是回收對象,還是每次都創建新的復雜結構(例如,選擇要顯示的數據的新日期范圍),然后重新綁定它們。 如果你有數據網格單元格,每一個都需要一個昂貴的東西...一個彈出窗口和額外的邊框..如果你圍繞每個單元格創建一個邊框以獲得一些視覺效果,重新分解為只有一個,並重新定位它在網格上。 列表可以繼續。

長話短說 - WPF很糟糕:所以你可能不得不削減一些東西,或者/並且更具創造性,以更少的開銷保持漂亮。

PS不要忘記發布一些代碼......

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM