在客戶端遇到一些性能問題後,我們決定嘗試一些性能分析器來嘗試找出瓶頸或識別代碼的有罪部分。 當然,儘可能多的表現調查,問題來自各種各樣的事情,但我發現我的用戶控件的ComponentResourceManager.ApplyResources
花費了太多的時間在我的表格的構建:超過24%的施工時間是花費在InitializeComponent()
以內的ApplyResources
。 這似乎相當多隻是「找到一個資源字符串,並將其放入它的容器」。增強本地化性能? (ComponentResourceManager.ApplyResources)
ComponentResourceManager.ApplyResources
究竟做了什麼?我猜想不僅僅是搜索字符串,如果不是這樣也不會花那麼長時間。
有沒有一種方法來提高本地化的表現?我們的軟件本地化爲多種語言,所以我們確實需要保持這種多語言功能。
有關此問題的任何建議?
謝謝! PS:我們用C#,.NET 3.5 SP1編碼。
我發現我正在通過所有打開的窗口循環並應用語言更改來教授窗體。但是其中一些形式被處置了(並且在關閉它們之後掛了很長一段時間)。跳過處置的表格後,速度顯着增加。 – TamusJRoyce 2011-12-20 13:59:25