Если вы во времена Windows 7 не использовали обои, а ограничивались однотонной заливкой, ваша ОС загружалась дольше. Это результат того, как была написана функция загрузки обоев в Windows 7, рассказал экс-программист Майкрософт Раймонд Чен.
Еще в 2009 году, примерно в то же время, когда была выпущена Windows 7, пользователи начали сообщать о загадочной проблеме : операционной системе иногда требуется необычно много времени, до 30 секунд, чтобы экран приветствия исчез после входа в систему. В статье службы поддержки Microsoft позже было подтверждено, что эта проблема существует для пользователей Windows 7 и Windows Server 2008 R2 со сплошным цветным фоном.
Фон рабочего стола, начиная с Windows 95, часто заполняли одним цветом для экономии оперативной памяти и упрощения отчетов об ошибках.
Процесс входа в систему Windows включает одновременную загрузку нескольких компонентов, таких как панель задач, Системные службы, значки рабочего стола фон. Система ожидает, пока все они подадут сигнал о своей готовности. Только после получения такого сообщения от всех компонентов или после исчерпания 30 секунд ожидания операционная система убирает экран приветствия и отображает рабочий стол.
Программная функция, отвечающая за установку фона рабочего стола При загрузке ПК, отлично работает, когда пользователь установил картинку в качестве обоев. Функция находит эту картинку на диске, загружает ее в оперативную память, выводит картинку на экран и сообщает Windows о готовности.
Однако если пользователь не устанавливал картинку, вместо этого использовав фон рабочего стола в виде однотонного цвета, функция установки обоев не посылала сигнал готовности. Windows не получала сигнал о готовности этой функции и не могла продолжить загрузку ПК. ОС ожидала бы сигнала от функции установки картинки обоев бесконечно, но на такой случай существовал 30-секундный таймер ожидания. После его исчерпания Windows продолжала загрузку.
Аналогичная проблема долгого ожидания могла возникнуть, если пользователь включил групповую политику «скрыть значки на рабочем столе». Код, сообщающий о готовности значков на рабочем столе, не выполнялся, заставляя ОС ждать исчерпания того же 30-секундного таймера.
Важно понимать, что сам процесс входа в систему не обязательно занимал дополнительные 30 секунд. Экран приветствия просто оставался видимым в течение полного 30-секундного тайм-аута, потому что один конкретный компонент не смог сообщить о своем завершении, даже если все остальные части входа в систему завершили загрузку намного раньше.
Как указано в статье службы поддержки Microsoft, обновление, устраняющее эту проблему, было выпущено для Windows 7 и Windows Server 2008 R2 в ноябре 2009 года.