IT之家 04月30日 10:38
Win7 纯色背景用户曾遭 30 秒启动延迟,微软资深工程师揭秘代码设计缺陷
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

Windows 7用户在2009年曾遇到使用纯色背景导致启动时间变长的奇怪问题。微软资深工程师Raymond Chen回顾了这段历史,指出问题根源在于Windows 7登录系统会等待壁纸位图加载完毕的信号才切换到桌面。如果用户关闭壁纸,该信号便不会发送,系统会傻等超时,延迟可达30秒。代码逻辑错误地将“壁纸已就绪”的报告写进了壁纸加载模块,导致未启用壁纸时,登录系统一直等待超时。选择隐藏桌面图标的用户也可能遇到类似问题。Windows欢迎界面会强制显示30秒,而不管系统组件是否准备就绪。

🎨Windows 7启动延迟问题:2009年,选择纯色背景而非图像壁纸的Windows 7用户,经历了系统启动时更长的等待时间,此问题持续约四个月。

🐞问题根源:Windows 7的登录系统会等待壁纸位图加载完毕并收到完成信号,然后才切换到桌面。当用户选择关闭壁纸时,该信号永远不会到来,系统只能等待超时,最多延迟达30秒。

💻代码逻辑缺陷:用于报告“壁纸已就绪”的逻辑被写进了壁纸加载模块里。如果没有启用壁纸,这份“报告”就不会发送,登录系统便一直在等待,最终超时。

🙈隐藏桌面图标的影响:选择“隐藏桌面图标”的用户也可能遭遇相同问题,因为Windows欢迎界面会强制显示30秒,并不依据系统组件真正准备好的时间。

IT之家 4 月 30 日消息,据外媒 Tom's Hardware 昨日报道,当年倾向于使用纯色背景而非图像壁纸的 Windows 7 用户,曾在系统启动时遭遇更长的等待时间。这一启动延迟问题出现在 2009 年,持续了约四个月。

微软资深工程师 Raymond Chen 最近在其博客《Old New Thing》中回顾了这段历史,并探讨了背后的代码设计问题。

Chen 自 Windows 95 起,就偏好以蓝绿色的纯色作为桌面背景。然而,从 2009 年 6 月 Windows 7 上市起,直到当年 11 月,微软才反应过来并修复前文所述的这一“反直觉”问题。

是什么原因导致使用纯色背景的用户反而启动更慢?根源其实“不难理解”:Windows 7 的登录系统会等待壁纸位图加载完毕并收到完成信号,然后才切换到桌面。而当用户选择关闭壁纸时,这一信号便永远不会到来,系统只能傻等超时,最多延迟达 30 秒

Chen 在文中附上了代码。他表示:“用于报告‘壁纸已就绪’的逻辑被写进了壁纸加载模块里。也就是说,如果没有启用壁纸,这份‘报告’就不会发送,登录系统便一直在等,最后只能等到超时。”

IT之家附有关的代码如下:

InitializeWallpaper()
{
   if (wallpaper bitmap defined)
   {
       LoadWallpaperBitmap();
   }
}

LoadWallpaperBitmap()
{
   locate the bitmap on disk
   load it into memory
   paint it on screen
   Report(WallpaperReady);
}

// Original code
InitializeDesktopIcons()
{
   bind to the desktop folder
   enumerate the icons
   add them to the screen
   Report(DesktopIconsReady);
}

// Updated with group policy support

InitializeDesktopIcons()
{    if (desktop icons allowed by policy)
   {                                  
       bind to the desktop folder
       enumerate the icons
       add them to the screen
       Report(DesktopIconsReady);

   }                                  
}

他还提到,另一类可能遭遇相同问题的用户,是那些选择“隐藏桌面图标”的人

Chen 特别强调,“准确地说,是 Windows 欢迎界面会强制显示 30 秒,而不是依据系统各组件真正准备好的时间 —— 有时可能只需 5 秒,也可能要 25 秒,取决于性能。”

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

Windows 7 启动延迟 纯色背景 代码Bug
相关文章