2011-11-21 64 views
4

我試圖查看是否可以找到問題的來源。我正試圖在一臺纖薄/小巧的電腦上使用.NET 4.0。當運行應用程序添加一個StopWatch它需要244毫秒只運行一個簡單的線label.visible = false;在我的電腦上它只需要22毫秒。代碼的其他部分運行得很好,只是這個區域。什麼可能導致這個?Windows窗體中的隱藏標籤需要244毫秒

這是我試圖運行應用程序的系統。我知道它是一臺便宜的電腦,但這是只有應用程序將運行在它上面。我已經完成並卸載了Acer安裝的所有默認程序,並運行了所有Windows更新。

Amazon.com - Acer Aspire Revo AR3700-U3002 Slim and Compact Desktop

產品特性

  • 的1.8 GHz的Intel Atom D525雙核處理器
  • 2 GB的安裝DDR3 RAM
  • 250 GB SATA硬盤驅動器(5400 RPM)
  • 集成nVIDIA Ion Graphics
  • Windows 7家庭高級版

處理器,內存,和母板

  • 硬件平臺:未知
  • 處理器:1.8千兆赫的Intel Atom
  • 處理器的數量:1
  • RAM:2 GB
  • RAM類型:未知
  • 內存插槽:2

硬盤

  • 尺寸:250 GB
  • 類型:未知
  • 轉速:5400轉
+1

那麼它是按照標題244毫秒還是244秒? – ChrisF

+3

另請參見:在上下文中顯示有問題的代碼 –

+0

如何(在地球上)分析該線路需要244msecs?我猜它只是被執行了一百萬次:) – sehe

回答

2

事實上,它可能取決於你正在開發過上什麼平臺。在Windows 7/Vista中刪除了GDI +加速。因此,所有的GDI +操作,即使是隱藏/顯示錶單等簡單操作都要慢得多。

這是Windows Server 2008中未刪除的一件事,但在Windows Server 2008 R2中已被刪除。因此,如果您的開發計算機使用的是Windows XP或更低版本,或Windows Server 2008或更低版本,則可能比類似的Windows 7或Windows Vista計算機速度更快。

無論硬件加速如何,視頻卡的比較也可以按順序進行。低端機內置視頻卡很少與開發機器中包含的視頻卡相比。

其他性能問題是非常缺乏內存(特別是如果它運行64位),它可能會推動GDI呼叫到非常慢的硬盤(5400轉),如果它沒有足夠的RAM 。

嘗試實現在WPF相同的測試?如果WPF中的速度非常相似,可能是由於視頻/硬件加速問題或內存問題,因爲WPF受益於完整的3D硬件加速,並且主要將視頻內存用於UI而不是系統RAM。

+0

抱歉,延遲響應。我沒有用WPF進行測試,因爲整個程序都是用Windows Forms編寫的,並且不想重寫它。我曾試圖將2gb的內存撞到4gb,以查看其差異,但很難找到內存。這是使用Win7 Home Prem 64bit。這臺電腦只有200美元,因爲我試圖去運行這個軟件的最便宜的路線,但聽起來像我需要得到更好的硬件? –

0

多次運行該示例並獲取更多信息。特別是多次調用StopWatch來檢查它支持的分辨率。

日新編譯可能是一個緩慢的機器上很慢,也因此多次或NGEN運行的代碼。

檢查硬件上充分表現,而不是在「最小CPU速度」等,一臺筆記本電腦上運行轉移到省電模式可真慢。

通過實現自定義繪製,你可以看到,如果平局動作或「事件」的行動正在採取所有的時間。

還要檢查,如果你有很多運行的應用程序,一些筆記本電腦的軟件預裝在機器放緩到爬行堆。

總之給我們更多的信息。調試什麼部分的操作很慢,然後回到我們這裏。