Почему мое приложение.net ужасно медленно запускается после перезагрузки машины?
Кто-нибудь знает, почему так ужасно медленно запускается приложение.net после перезагрузки машины (т.е. холодный запуск)?
После исследования в Google я нашел несколько подсказок для ускорения его, т.е.
- Объединение сборок
- Настройка языка ресурса
- NGEN
- Установка GAC и др.
Этого достаточно, чтобы ускорить работу моего приложения.net, или чего-то еще, чего мне не хватает?
4 ответа
Другой причиной могут быть подписанные сборки Authenticode и отсутствие подключения к Интернету. См. Почему подписанные сборки загружаются медленно? и приложение WPF замедляется при запуске, например.
Вы можете использовать ProcMon из SysInternals для профилирования вашего приложения во время запуска. Это будет регистрировать весь доступ к реестру / файлу с отметкой времени. Это может указать вам в области, где есть задержка.
Кроме того, при холодной загрузке у вашей машины много доступа к диску? Ваш антивирусный сканер выполняет полную проверку при загрузке?
Если вы извлекаете большое количество файлов с жесткого диска, значит, ваша система еще не загрузила их. Это может быть причиной медленного старта.
Кроме того, если вы не дали вашей системе достаточно времени для загрузки, она все равно может одновременно загружать другие приложения.
Как уже говорили другие, ваш компьютер, вероятно, все еще загружает другие приложения в течение первых нескольких минут после загрузки. Ваш жесткий диск (один из самых медленных компонентов) занят, пытаясь загрузить эти другие приложения и соответствующие им данные.
Если у вас есть второй диск на вашем компьютере, попробуйте установить приложение на второй диск. Если второй диск обычно простаивает в течение этого времени, я думаю, что приложение запустится гораздо быстрее.