2015-06-03 35 views
0

我做了一個C#窗體窗體應用程序需要.NET 4.0。我在Windows 8現代筆記本下編寫它,並且在那裏工作得很快。它並不那麼重,它有兩個線程可以從串口設備讀取一些值並保存數據或顯示圖表。 但是,當我在Windows XP,Pentium 4 3GHz,500MB內存和史前20GB高清電腦上運行它時,速度非常慢。電腦幾乎沒有安裝,所以它不是一個軟件問題。看起來GUI非常沉重。打開和關閉表單需要幾秒鐘,如果你不耐心,你可以簡單地崩潰它。在圖片框中顯示了一個gif。在筆記本電腦上,它每秒閃爍一次,在電腦上它會在4-5秒內閃爍。在筆記本計算機上每秒更新一次計時器,並在計算機上每3-4秒更新計時器。 顯然它不佔用大量資源:使用的RAM是128 MB,CPU是4-5%左右。你有什麼想法,爲什麼這麼慢?緩慢的應用程序在Windows XP 500MB ram

回答

0

我以前見過這樣的事情,應用程序在我的筆記本電腦上運行速度非常快,但隨後在用戶的桌面上使用較舊的處理器時出現在外面,事情真的放慢了速度。

它有助於運行以下性能分析器。您可以將其安裝在桌面上,無需安裝任何開發人員工具。在緩慢的事件周圍拍攝快照,然後在結果中您會看到哪些方法很慢。也許有一個循環運行的文件訪問,你可以減少在內存中加載項目的訪問時間。也許有更經常發生的數據庫調用。 https://www.jetbrains.com/profiler/?fromMenu

在另一個項目中,我們發現第一次機會異常導致其他計算機上的緩慢並且幫助在該硬件上運行VS並監視第一個更改異常。另外,如果你的盒子上有VS,你可以在緩慢的時候暫停處理,然後看看堆棧跟蹤,看看它可能花費大部分處理時間。

希望這有助於

0

你的老奔騰4機器很可能沒有一個專門的圖形處理器,這意味着所有的UI工作由處理器來完成。

奔騰4 3 GHz處理器由於任何現代標準而變得很慢。在這種PassMark CPU基準測試中,它的分數「358」,而得分高'範圍內的低中期的CPU得分在1700 - 1800年

https://www.cpubenchmark.net/low_end_cpus.html
https://www.cpubenchmark.net/midlow_range_cpus.html

你沒有說明是什麼處理器在Windows 8的機器,但這是一個很好的機會,它有一個專用的圖形處理器(即使它是片上集成),並且通常比你的Pentium 4機器強大得多。

在這種情況下,與Windows 8機器相比,舊機器上的應用程序運行速度非常慢並不奇怪。

0

您需要測量。它可能是GC,I/O,JIT,不管...

我會推薦你​​PerfView。這是來自MS的幾兆大型分析器,它是免費的,無需安裝,因此您可以輕鬆地在客戶的PC上運行它。