У меня есть форма Windows Form, которая изначально загружается довольно долго. Однако каждый последующий запрос на загрузку формы занимает меньше времени. Есть ли способ оптимизировать время загрузки формы?





Вы можете использовать ngen.
Я также использую этот совет, чтобы уменьшить Объем памяти при запуске.
Генератор собственных образов (Ngen.exe) - это инструмент, повышающий производительность управляемых приложений. Ngen.exe создает образы в машинном коде, которые представляют собой файлы, содержащие скомпилированный машинный код для конкретного процессора, и устанавливает их в кэш собственных образов на локальном компьютере. Среда выполнения может использовать собственные изображения из кеша вместо JIT-компилятора для компиляции исходной сборки.
Хороший совет марксидада. если вы можете опубликовать это как ответ, один голос от меня :)
Отличный ответ от Уилла Дина ниже.
Вам нужно выяснить, на что идет время, прежде чем вы сможете его оптимизировать. Не просто создавайте его, не выяснив сначала, как если бы проблема была в загрузке фонового растрового ресурса размером 150 МБ, тогда вы вообще не сделали бы ничего полезного с помощью ngen.
Вы должны игнорировать все конкретные советы или догадки по поводу оптимизации, которые возникают без каких-либо измерений.
Это правда. Есть ли у вас какие-либо методы поиска потенциальных узких мест?
использование профилировщика, такого как Красные ворота, очень хорошо помогает находить узкие места :)
Обратите внимание, что вы теряете преимущества JITting при использовании NGEN. Одна вещь, которую вы можете сделать, - это поместить форму в EXE-файл с NGEN, а остальную логику приложения - в библиотеку DLL, которая не является NGEN-файлом.