📖
テクノロジーは飛躍的に進歩していますが、時には過去のテクノロジーの特殊な部分が現在も存在していることに驚かれることがあります。
たとえば、「マウスを動かすとコンピュータの速度が上がる」という考えは、Windows 95 時代に人気のジョークになりました。このジョークには、驚くべきことに本当の根拠があり、現代の Windows システムにも適用できます。
マウスを動かすと、コンピュータ上の特定のプロセスのパフォーマンスが向上します。 Windows 95 の時代にもそれが行われ、 X のウイルス スレッドが思い出したように、それは今も起こっています。
神話の起源(そんなものではなかった)
Windows 95 の多くの特徴の 1 つは、入出力 (I/O) 操作の処理です。このオペレーティング システムは、プログラムがファイルの読み取りや書き込みなどの遅い操作を実行するときに、非同期 I/O モデルを使用していました。オペレーティング システムがタスクを完了するのを待っている間の「スリープ」状態。
ただし、Windows 95 には、操作が完了してもプログラムをすぐに再起動できないという欠陥もありました。奇妙なことに、マウスを動かすという単純なアクションによってシステムに中断が発生し、スリープ状態のプログラムが「目覚め」 、そのパフォーマンスが大幅に高速化されるという欠陥がありました。
なぜマウスを動かすことがそのような影響を与えるのでしょうか?
技術的に言えば、マウスを動かすと入力イベントが生成され、オペレーティング システムの動作が変更されました。これらのイベントは、「割り込みハンドラー」 (他の待機中のタスクよりもマウス イベントを優先する) によって処理されるため、システムは保留中のタスクを確認し、通常よりも早くプログラムを再アクティブ化します。
このため、ユーザーがマウスを移動すると、特定のプロセスのブロックがより速く解除される可能性があります。場合によっては、これによりタスクの完了に必要な時間が大幅に短縮される可能性があります。アイドル状態で待機するのに最大 1 時間かかる可能性のあるインストールが、突然わずか 15 分に短縮されました。
過去は決して死ぬことはない
しかし、この技術的な好奇心は過去に追いやられたわけではありません…最新の Windows システムでも(現在は別の理由によりますが)、マウスの動きが特定の操作のパフォーマンスに影響を与える可能性があります。
簡単な例を次のビデオに示します。これは、メモ帳で大きなファイルを開き、それを選択しながらテキストを移動することで構成されています。マウスを移動して操作を繰り返すと、スクロール速度が著しく速くなることがあります。
現在のシステムでのこの動作は、Windows 95 の I/O モデルに直接関係しているわけではなく、Windows ユーザー インターフェイスに関連付けられたWM_MOUSEMOVEやWM_TIMERなどの最新のイベントと、リアルタイムでの割り込みの処理方法に関係していますが、基本的な原則である「ユーザー アクション」に関係しています。触媒として」は引き続き適用されます。
Word の例
日本のブログで、Office 2000/XP/2003 の MS Word で同じ現象を示した 18 年前に公開された記事を見つけることができます。
「Word を使用して数十ページの文書を印刷しようとすると、CPU 使用率、ディスク アクセス速度、ネットワーク アクセス速度がそれほど高くない場合でも、印刷プロセスに時間がかかることがあります。
このような場合は、印刷を開始したら、マウスのホイール ボタンを画面上ですばやく上下に動かします。あらゆる予想に反して、印刷プロセスは何も行わない場合に比べて約 10 倍の速さで完了します。」
理由? 「Word の印刷プロセスは、ウィンドウを描画するスレッド内でイベント駆動型の方法で非同期に実行されます。」そして、プロセスのブロック解除に関するよく知られた説明です。