要創建並顯示錶單需要10秒鐘,而且我想縮短處理時間。創建表單的優化
在部分是
Inherited Create(AOwner);
哪需要2秒的總運行時間。
有沒有一種方法可以縮短Delphi TForm的父創建? 或者你知道是什麼的時間在通話
Inherited Create(AOwner);
增加的原因?
更新:我沒想到有18條評論和3條答案:D謝謝大家的回覆。
在當前狀態下,我厭倦了一些圍繞此處的配置文件,而非導致代碼中的實際代碼行,它主要是內核調用或系統調用。
所以買隨AQTime德爾福XE2後,我嘗試升級項目德爾福XE2,現在需要幾天的時間。(大項目)
生病添加信息,因爲我得到的信息探查。
順便說一句,在Windows服務器域之外,使得動作慢兩倍。因爲內部計算機在5秒鐘內運行。這要好得多,但仍然很慢。
Update2:使用Delphi XE2進行編譯和運行,比Delphi 2009的時間優先性提高了近20%.AQTime沒有產生任何有用的信息。
update3:左邊xe2,不穩定。回到2009 Delphi的構造
SendMessage(application.Handle, WM_SETREDRAW, 0, 0);
的起點,也在構造的盡頭有試圖
SendMessage(application.Handle, WM_SETREDRAW, -1, 0);
form.Repaint;
降低0.1秒。
當我這樣做時,表單即刻創建。顯然你的代碼和我的代碼不同。我知道我的代碼是幹什麼的,但我不知道你的代碼是什麼。 – 2012-03-28 15:23:43
@none如果你有很多,我的意思是表單上有許多**可視化組件,你的應用程序可能需要很長時間才能創建基於* .dfm資源的表單,所以在這種情況下使用代碼創建組件可以提高速度,但這會是一個矯枉過正的問題。你使用多個表單繼承嗎?一些關於你的表單的OnCreate中發生了什麼的代碼會有所幫助,我認爲這是由於某些數據庫連接保持打開狀態? – ComputerSaysNo 2012-03-28 15:27:40
@DorinDuminica是的,表單包含超過一百個可視化組件。 Constractor本身是巨大的,我試圖孤立一個問題。 – none 2012-03-28 15:30:54