У нас есть приложение среднего размера, которое зависит от нескольких пользовательских контролей, а именно:
Панель таблиц, с сеткой пользовательских контролов 2x5, с 3+ уровнями наследования. Оказалось, что большой проблемой, с которой мы сталкиваемся с нашим приложением, является время запуска (как холодное, так и теплое), и одно из самых больших препятствий, которое мы получаем, - инициализация этой сетки управления пользователями.
Из наших отчетов о времени, эта форма приходит примерно за 0,75 секунды для инициализации, и сокращение ее будет большим делом .
Мой вопрос: Какого черта я могу сделать, чтобы ускорить это? Всякий раз, когда я запускаю проверки синхронизации для InitializeComponents аналогичной сложности (все окна, элементы управления .net), результат иногда оказывается на величины меньше (<10 миллисекунд). </p>
edit) Мне интересно, помогут ли такие вещи, как пометка моих последних классов загерметизированные или что-то подобное.
edit2) Я посмотрел глубже во время инициализации компонента, и для моей текущей машины основной контейнер добавляет к нему 10 компонентов (по 10 мс на штуку). Каждый из этих компонентов добавляет 3 компонента (по 10 мс за штуку). 10x10 + 30x10 = 700 мс. Если я не смогу увеличить скорость добавления предметов в свои контейнеры, я думаю, что я SOL.