我有一個5年前的winforms.netnet MDI應用程序,我使用vs 2010從.net 2.0轉換到4.0 ...應用程序現在需要大約1.5分鐘當在vs之外開始時開始並打開一個空白表單,並且在vs之內啓動大約15秒(在升級到.net4.0和devexpress 11.2之前,在任一情形中沒有明顯的延遲)排除從.net 2.0轉換爲4.0之後的性能問題
不幸的是,這裏有很多變量......就像我們也必須使用devexpress控制庫的新版本,以及xpo持久層(orm)。
主窗體大約有1500個左右的控件,通過devexpress tabcontrol的12個選項卡控制spreed。分析應用程序顯示,在窗體構造函數中,將近63%的時間花費在「clr.dll」中......我現在已經想出瞭如何解釋這個問題。
作爲一個測試,我使用相同的工具構建了另一個應用程序,並在空白表單上放置了1500個控件,它顯示該應用程序中不到1%的時間用在該窗體構造函數的clr.dll中。
這感覺不對,我...任何人都可以做的這個任何意義或點我在正確的方向繼續理解,所有的時間是怎麼回事......
我準備只接受結果並說得好...我們不能這樣做,但是我可以創建另一個devexpress表單,並在其上放置1500個控件,當我剖析它時,結果會更有意義,大部分在窗體構造函數中的時間花在ControlsCollection.Add函數或控件構造函數本身上...
有什麼想法嗎?
感謝喬納森
OK ......我打開負載symbos,這就是我現在得到......我必須說,我很擔心,因爲我是一個英特爾機器上運行。 ..我也無法找到有關PreStubAmd64調用的任何文檔。