Windows 7には「壁紙を単色にすると起動が遅くなる不具合」が存在していた

by Richard Gillin
Windowsにはデスクトップの背景用にさまざまな壁紙画像が初期から収録されていますが、壁紙画像ではなくカラーパレットから選んだ色だけを表示する単色を背景に設定することも可能です。Microsoftで長年開発者を務め、Windowsの歴史についても詳しいレイモンド・チェン氏が、Windows 7に存在していた「単色背景を設定すると起動が遅くなる不具合」について解説しています。
Why did Windows 7, for a few months, log on slower if you have a solid color background? - The Old New Thing
https://devblogs.microsoft.com/oldnewthing/20250428-00/?p=111121
Windows 7 users with a solid background color faced delayed login process — it took four months for Microsoft to fix | Tom's Hardware
https://www.tomshardware.com/software/windows/windows-7-users-with-a-solid-background-color-faced-delayed-login-process-it-took-four-months-for-microsoft-to-fix
チェン氏自身は、Windows 95の頃から青緑色の単色背景を使用し続けていたとのこと。しかし、Microsoftが、Windows 7やWindows Server 2008 R2で「デスクトップ背景を単色に設定していると、ログオン処理中に30秒間ウェルカム画面が表示される」という問題に関するサポート記事を発表した時は驚いたそうです。
チェン氏は、この問題の原因がWindows 7のログオンシステムの設計にあったと述べています。
Windowsはログオン認証後、デスクトップを設定するため、タスクバーの作成、システムサービスのコンポーネントの読み込みと初期化、デスクトップウィンドウの作成とアイコンの配置、壁紙の読み込みと表示などを行います。ログオンシステムはこれらすべてのコンポーネントが準備完了を報告するか、30秒が経過するまでウェルカム画面を表示し続けます。

問題は、背景の準備完了報告がビットマップ壁紙のコード内に組み込まれていたため、単色背景を使用している場合には壁紙の準備完了が報告されないことでした。コードは以下の通り。
InitializeWallpaper()
{
if (wallpaper bitmap defined)
{
LoadWallpaperBitmap();
}
}
LoadWallpaperBitmap()
{
locate the bitmap on disk
load it into memory
paint it on screen
Report(WallpaperReady);
}
この構造では、壁紙がない場合には準備完了の報告が行われず、ログオンシステムは永遠に報告を待ち続け、結局30秒のタイムアウトで切り替わることになります。
同様の問題は「デスクトップアイコンを非表示」のグループポリシーを有効にした場合にも発生していました。これはグループポリシーが後付けで追加されるため、元のコードに「ポリシーが許可する場合」という条件分岐が追加され、その条件の範囲に準備完了の報告も含まれてしまったためです。

by Petar Spaseski
この問題はWindows 7がリリースされてから約4ヶ月後の2009年11月に修正されています。
なお、チェン氏は単色の背景を好む理由として、4MBや8MBしかメモリがなかった時代に壁紙に0.75MBも使うのは非効率的であったこと、また既定の設定を使うことでバグ報告が容易になることを付記しています。また、Tom's Hardwareの編集者であるマーク・タイソン氏も「RAMの使用量を減らしてハードディスクへの負担を少しでも軽減するために、自分も単色背景を使用していた」と語りました。
・関連記事
ついに「Windows 7」が発売開始、大阪・日本橋でんでんタウンの深夜販売イベントはどうなっていたのか? - GIGAZINE
「Windows 7」発売日にヨドバシAkibaにいた外国人の正体はLinux開発で有名なあのリーナスだった - GIGAZINE
10月22日に発売された新OS「Windows 7」はWindowsVistaに比べて約2.5倍の売れ行き - GIGAZINE
マイクロソフト、「Windows 7」のService Pack 1(SP1)を提供へ - GIGAZINE
Windows 7搭載PCの販売終了時期がついに決定 - GIGAZINE
・関連コンテンツ
in ソフトウェア, Posted by log1i_yk
You can read the machine translated English article Windows 7 had a bug that caused startup ….