やじうまPC Watch

Windows 11のタスクバーの時計で「秒」表示が完全に無効化されたワケ

 Windowsのタスクバーの一番右端のタスクトレイでは、常時時計が表示されているのだが、「秒」は表示されていない。実はWindows 10まではレジストリの改変により強制表示させることもできたのだが、Windows 11では動作しなくなっている。

 同社のエンジニア“Raymond C”氏は、ブログの投稿でこの理由について「パフォーマンスへの影響が大きいため」だと説明している。

 その昔、Windows 95の時代は、メモリが4MBしかないため、4KBのメモリを削減するだけでベンチマークに影響を与えることができた。秒を表示するだけと言っても、テキストのレンダリングの出力を行なうコードパスを阻害したり、タスクバーウィンドウのプロシージャの出力を阻害したり、メモリのデータやスタック、それに関連するコンテキスト構造のページアウトを阻害したりしていたという。

 そのため、ベータ版では秒表示やコロンの点滅などがあったのに、製品版では削除された。「最速のコードは実行されないコードである」というのが、削除の最大の理由だ。

 現在のシステムは、4MBよりはるかに大きいメモリを搭載しているのにもかかわらず、それでも秒表示を行なわないのは、やはり性能への影響が大きいためだ。

 例えばターミナルサーバーのようなマルチユーザーのシステムでは、1つのみならず複数のユーザーがタスクバーの時計の表示の更新をしなければならないため、100人いる場合は100回タスクバーの刷新を行なわなければならず、CPU資源の浪費になる。これがターミナルサーバーシステムでカーソルの点滅が無効になっている理由でもあるのだとしている。

 それならば、シングルユーザーのシステムで秒を表示しても良いのかと言われれば、そうでもない。1分より短い速度の定期的なアクティビティは、CPUが低電力状態になるのを阻害してしまうことが、Windowsパフォーマンスチームの検証で明らかとなっている。ユーザーに入力の場所を知らせたり、ビデオ再生がスムーズに行なわれていることと比較すると、タスクバーに秒を表示させることの重要性は低い。そのため、Windows 11では秒表示ができなくなっているのだ。