Как ускорить оптимизацию приложений Windows Forms?
Я не говорю о очевидных методах оптимизации .NET - таких как NGEN -ing, кеширование объектов и т. Д. Я уже пробовал это, и я собираюсь сократить время инициализации формы с 1500 мсек до 500 мсек.
Профилирование идентифицировало самый медленный код, и почти весь он находится в InitializeComponent
, а в этом методе самые медленные строки -
- создание (только что появившегося) компонента WebBrowser
- загрузка иконки с ресурса (отвратительно 500 мсек)
- создание
ContextStripMenu
- несколько
this.Controls.Add()
звонков также вносят большой вклад.
В настоящий момент я могу видеть только то, как исправить точку (2) - переместить данные значков из сохраненного в качестве встроенного ресурса в закрытое поле (например, строку, кодированную Base64 ).
Что мне делать с пунктами 1, 3 и 4?