微软的一位资深工程师,Raymond Chen,近日在微软开发者博客上发表了一篇文章,深入探讨了早期Windows 7系统中的一个有趣问题:使用纯色桌面背景为何会导致登录速度变慢。
据Chen介绍,这个问题特定出现在使用早期版本的Windows 7或Windows Server 2008 R2系统的用户中,并且只有当桌面背景设置为纯色(而非图片)以及启用了“隐藏桌面图标”组策略时才会触发。
具体表现为,即便系统已经完成了加载,登录界面的“欢迎”屏幕还是会无故停留30秒。这一现象无疑给用户的体验带来了不必要的等待时间。
为了解开这一谜团,Chen深入解析了背后的代码逻辑。他指出,问题的根源在于一组关键代码未能及时发送“就绪”信号。他通过简化的代码示例进行了说明:原本应该在壁纸设置完成后发送“就绪”信号的Report (WallpaperReady)调用,被放置在了LoadWallpaperBitmap函数中。如果用户选择的是纯色背景而非壁纸,那么LoadWallpaperBitmap函数将不会被执行,因此Report (WallpaperReady)也就无法发送“就绪”信号,导致系统只能无奈地等待30秒后超时。
Chen还提到,如果用户启用了“隐藏桌面图标”组策略,同样会引发类似问题。因为当桌面图标被隐藏时,相关的代码逻辑中的“if”条件判断将不成立,进而也不会发送“就绪”信号,最终导致系统等待超时。
Chen本人从Windows 95时代起就习惯于使用纯色背景,因为当时的图片壁纸会占用大量的内存资源(当时主流配置的内存仅为4-8MB)。然而,当他在Windows 7中设置了纯色背景后,却意外发现了这个登录速度变慢的问题。
幸运的是,微软在2009年11月已经发布了更新,修复了这一问题,使得后续的用户不再受此困扰。