
Les bugs et Windows sont deux concepts indissociables. Le système d’exploitation de Microsoft est réputé pour ses nombreux bugs plus ou moins étranges à chaque nouvelle version majeure ou simple mise à jour Windows Update.
Si récemment, Windows 11 a continué sur cette belle tradition, notamment depuis sa version 24H2, il est loin d’être le seul. L’un des systèmes les plus appréciés de l’histoire de Microsoft, Windows 7, a subi pendant quelques mois un bug étrange au courant de l’année 2009 : l’écran d’accueil mettant parfois plus de 30 secondes avant de laisser place au bureau.
Plusieurs mois après, le coupable a été trouvé : le fond d’écran. Si celui-ci est d’une seule couleur unie, alors le démarrage de Windows 7 peut prendre un temps anormalement long. Il avait donc été conseillé d’utiliser une image en tant que fond d’écran pour résoudre le problème.
Mais pourquoi un fond d’écran aussi simple pouvait ralentir à ce point le démarrage du système ? Un ingénieur historique de Microsoft dévoile l’explication derrière un bug aussi ennuyeux qu’étrange.
Pour aller plus loin
Microsoft veut vous inciter à passer sur Windows 11 24H2 en rendant les anciennes versions moins sécurisées
Windows 7 n’aimait pas votre bureau minimaliste
Raymond Chen, ingénieur de longue date chez Microsoft, est devenu aussi l’un des historiens officiels de la firme via le blog The Old New Thing. Dans son dernier article, il détaille pourquoi les fonds d’écran aux couleurs unies posaient autant de soucis à Windows 7 à son lancement en juillet 2009.
De base, les différents composants de votre bureau sont chargés au démarrage de Windows 7 : barre des tâches, services en arrière-plan, les icônes sur votre bureau et enfin votre fond d’écran.
Le système de connexion attend que tous ces éléments signalent qu’ils sont prêts et, lorsque tout le monde a donné son feu vert, ou que 30 secondes se sont écoulées, le système de connexion quitte l’écran de bienvenue.
En clair, si tous les éléments ne sont pas prêts, le bureau s’affiche au bout d’un délai de 30 secondes. Sauf qu’un morceau de code concernant le fond d’écran était victime d’un angle mort :
InitializeWallpaper()
{
if (wallpaper bitmap defined)
{
LoadWallpaperBitmap();
}
}
LoadWallpaperBitmap()
{
locate the bitmap on disk
load it into memory
paint it on screen
Report(WallpaperReady);
}
Sans avoir de notion de code, on peut deviner la source du problème avec ces quelques lignes. Lors de l’initialisation du fond d’écran, le système s’attend uniquement à un fond d’écran dit « bitmap » avec la fonction (LoadWallpaperBitmap(), correspondant aux données d’une image numérique présente sur le disque dur.
Si vous aviez choisi un fond d’écran avec une seule couleur via les paramètres de Windows 7, alors le système ne pouvait tout simplement pas envoyer de rapport positif sur le chargement de cet élément lors du démarrage via la commande Report(WallpaperReady).
Le problème touchait aussi les utilisateurs qui avaient activé la stratégie de groupe Windows « Cacher les icônes du bureau ». Dans les deux cas, l’utilisateur devait alors attendre 30 secondes pour accéder à son bureau.
Raymond Chen précise que ce délai avait tout d’artificiel et n’était en aucun cas dû à un souci de performance, juste à une logique de code tout simplement bancale.
Un correctif a été déployé quelques mois après la sortie de Windows 7, en novembre 2009. Suffisamment de temps pour que de nombreux utilisateurs se posent des questions sur ce qui pouvait clocher avec leur configuration.
Envie de rejoindre une communauté de passionnés ? Notre Discord vous accueille, c’est un lieu d’entraide et de passion autour de la tech.
Ce contenu est bloqué car vous n'avez pas accepté les cookies et autres traceurs. Ce contenu est fourni par Disqus.
Pour pouvoir le visualiser, vous devez accepter l'usage étant opéré par Disqus avec vos données qui pourront être utilisées pour les finalités suivantes : vous permettre de visualiser et de partager des contenus avec des médias sociaux, favoriser le développement et l'amélioration des produits d'Humanoid et de ses partenaires, vous afficher des publicités personnalisées par rapport à votre profil et activité, vous définir un profil publicitaire personnalisé, mesurer la performance des publicités et du contenu de ce site et mesurer l'audience de ce site (en savoir plus)
En cliquant sur « J’accepte tout », vous consentez aux finalités susmentionnées pour l’ensemble des cookies et autres traceurs déposés par Humanoid et ses partenaires.
Vous gardez la possibilité de retirer votre consentement à tout moment. Pour plus d’informations, nous vous invitons à prendre connaissance de notre Politique cookies.
Gérer mes choix