2011-08-09 77 views
2

我們的用戶一直在抱怨我們的WinForms應用程序在過去幾個月的表現。網上有很多關於如何提高WinForms性能的文章,所以我沒有在尋找任何明顯的建議。爲什麼切換用戶配置文件會提高WinForms性能?

我得到的是一個似乎可以工作的Voodoo解決方案,我沒有任何理由。如果我們簡單地切換用戶(即註銷),然後用一個從未登錄過的用戶登錄到計算機,然後啓動應用程序,它就會擁有每個人都喜歡的精彩表現。

麻煩是,我不知道爲什麼這樣的作品。我們沒有向AppData目錄寫任何東西,我們所有的日誌文件都在運行目錄中(我認識到這是不好的做法,但我們運行在XP上,而且應用程序是在幾年前建立的)。我們沒有寫入註冊表,所以也不能這樣做。

我能在網上找到的最好的關於「清理臨時文件」的模糊聲明,但我不能真正推薦一個流程更改,因爲這一點。

+0

性能加速是否僅發生在您的應用上?關於機器中安裝的其他應用程序呢? – Martheen

+0

不確定。我們的業務性質要求我們只爲每個客戶運行一個關鍵任務應用程序。當時沒有別的東西在運行。但是,也許我會讓他們在IE瀏覽器或其他瀏覽器中彈出窗口,然後在切換用戶後再次檢查。 –

+0

註銷殺死所有進程。舊的XP機器臭名昭着地有一個零碎的分頁文件。查看SysInternals的PageDefrag工具。 –

回答

2

也許標準用戶在機器的背景上運行一些額外的進程,這些進程會竊取您的性能。 曾嘗試在Windows保護模式下運行應用程序?

2

您可以通過使用一些專業應用程序,如Red Gate Performance Profiler更多地診斷問題,它不是免費的,但他們有14天的試用期。不過這裏是一些常見的\可能出現的問題:

  • 檢查您的應用程序的虛擬內存,不知是反覆增加,沒有你發現你可以運行你的任務管理器,並轉到性能選項卡和觀看PF使用率.. ,在你的代碼中,檢查你是否創建一些Disposable對象或資源,而不處理/關閉它們。
  • 你應該使用更專業的庫來進行日誌記錄,例如Log4Net,但是如果你想記錄你自己,我建議你切換到使用EventLog並且嘗試以異步方式進行日誌記錄。
相關問題