почему мое приложение .net ужасно медленно запускается после перезагрузки машины?

Кто-нибудь знает, почему так ужасно медленно запускать приложение .net после перезагрузки машины (то есть холодного запуска)?

После исследования в Google я нашел несколько подсказок, как его ускорить, т.е.

  1. Слияние сборок
  2. Установка языка ресурса
  3. NGEN
  4. Установка GAC и т. Д.

Достаточно ли этого для ускорения работы моего .net-приложения или чего-то еще, чего мне не хватает?


person SharpUrBrain    schedule 18.05.2011    source источник
comment
- Тук-тук. -Кто здесь? (долгая задержка ....) -Dot Net. :-)   -  person Dariusz    schedule 18.05.2011
comment
Что это за приложение, forms / WPF / Console ... Откуда вы знаете, что это фреймворк, который запускается медленно? Что ваш код делает до вашей точки измерения?   -  person adrianm    schedule 18.05.2011
comment
@adriamn: это приложение для Windows, использующее WPF, а также формы. Сначала я подумал, что это из-за моих кодов WPF, поэтому я пропустил большинство ненужных элементов управления, которые использовал, но все же это происходит так же, и я думаю, что это не из-за моей конфигурации системы, потому что я пытаюсь запустить свое приложение, ожидая около 20 -30 минут   -  person SharpUrBrain    schedule 18.05.2011


Ответы (4)


Другой причиной могут быть сборки, подписанные Authenticode, и отсутствие подключения к Интернету. См. Почему подписанные сборки медленно загружаются? и Например, приложение WPF медленно запускается.

person Lars Truijens    schedule 18.05.2011

Вы можете использовать ProcMon от SysInternals для профилирования приложения во время запуска. Это будет регистрировать все обращения к реестру / файлам с отметкой времени. Это может указать вам на место, где есть задержка.

Кроме того, есть ли у вашей машины большой доступ к диску при холодной загрузке? Ваш антивирусный сканер выполняет полное сканирование при загрузке?

person John Warlow    schedule 18.05.2011
comment
Нет, я использую это со своей обычной системой без каких-либо запускаемых приложений, и после того, как система стабилизируется, я запускаю свое приложение, и эта проблема, с которой я сталкиваюсь - person SharpUrBrain; 18.05.2011

Если вы загружаете с жесткого диска большое количество файлов, значит, ваша система еще не загрузила их. Это могло быть причиной медленного старта.

Кроме того, если вы не дали своей системе достаточно времени для загрузки, она все равно может загружать другие приложения одновременно.

person Chuck Savage    schedule 18.05.2011

Как утверждали другие, ваш компьютер, вероятно, все еще загружает другие приложения в течение первых нескольких минут после загрузки. Ваш жесткий диск (один из самых медленных компонентов) занят, пытаясь загрузить эти другие приложения и их соответствующие данные.

Если у вас есть второй диск на вашем компьютере, попробуйте установить приложение на второй диск. Если второй диск в это время обычно простаивает, я думаю, что приложение запустится намного быстрее.

person Giovanni Galbo    schedule 18.05.2011