2013-07-15 73 views
0

我一直在尋找我的軟件的速度,試圖罰款一行,我可以加快速度。我不需要一般優化的幫助。我發現了一段特定的後臺非託管代碼,即使在考慮調用的數量時,它似乎也需要很長時間。這是該行:慢行的背景代碼。如何繞過/取代/加速。 VB.NET

system.windows.forms.unsafenativemethods.getwindowtext(handleRef hWnd, StringBuilder lpstring, int nMaxCount) 

有誰知道:

  1. 與 更好的東西如何加快步伐/繞過它,如果它不是有用/替換它。

  2. 具體來說,我會在我的代碼中寫入一些東西,導致它被調用 - 這個例子越多越好! 我在Google上發現了一些相關主題。但是其中的每一個都與 有關的特定問題,例如當一個線程向另一個線程請求 以及另一個線程已分離時發生錯誤。 This Link是有幫助的,但我無法安靜地把我的頭圍繞它。 任何和所有的幫助將不勝感激。

謝謝!

+4

很難幫助你,不知道你的程序在做什麼。我認爲這是一個WinForms應用程序 - 但它在做什麼?我希望一個分析器能夠突出顯示所謂的麻煩功能。 –

+0

感謝您的快速響應。我的程序正在運行一組模擬。主要以數學爲基礎。我確實更新了表單,並且所有處理都在異步線程中進行,因此表單不會鎖定。 – FraserOfSmeg

+1

您多長時間使用控件/窗口的「文本」屬性?我的簡單猜測是,這就是所謂的GetWindowText ... –

回答

1

這聽起來像你使用Control.Text了很多 - 這似乎是最有可能呼叫者GetWindowText

如果您每次模擬進行時都會用您的模擬結果更新您的用戶界面,只需通過限制更新速率(例如,每秒更新5次),就可以顯着提高性能, 。