前回の続き。
まずはじめに、Round 1とある「快適で安定して使えるのはどっち?」からつっこんでみよう。
ざっと眺めてみるとパフォーマンス比較として、以下の比較があげられている。
- スリープ(Vista)とスタンバイ及び休止状態(XP)
- ソフトウェアの起動時間(SuperFetchのON/OFF含む)
- ユーザインタフェースの重さ(AeroのON/OFF含む)
- ReadyBoostの紹介(これはXPとの比較がない)
では、一つずつ眺めていこう。
スリープからの復帰時間が速いことは、Windows Vistaの数少ない長所の一つである。これは、Hybrid Sleepともいわれるように、XPにおけるスタンバイと休止状態を併せ持つような機能であり、確かにありがたい機能の一つである。だが、どうも説明がおかしい点があるように思う。
「Windows Vista の「スリープ」の場合、パソコンの使用中断時に、メモリ上のデータをメモリとハードディスクの両方に保存します。そして、パソコンを復帰させるときは、まずメモリ上からデータを読み込みにいきます。電源障害などでメモリ上のデータが消えた場合でも、ハードディスクにデータが残っていますので、完全な電源オフ状態からの復帰よりもすばやく、安全にパソコンが使用可能になります。」
これだけ見ると、意味不明なところがあることに気付く。「メモリ上のデータをメモリとハードディスクの両方に保存」とあるところで、わざわざメモリにあるデータをなぜ同じメモリに保存するのか、というところである。Vista以前のWindowsは、メモリイメージをHDDに保存して休止状態を実現していたが、Vistaになってからはメモリイメージを直接HDDに保存することはなくなり、単に作業中のデータやデスクトップイメージ等をメモリ上に別途保存しているだけなのである。
一方、HDDに保存するデータとは何かというと、メモリ上に保存するものと同じ作業中のデータ及びデスクトップイメージ等である。つまり、「メモリ上のデータをメモリとハードディスクの両方に保存」とは、単にコピーを2つ保存することでバックアップを確保しているに過ぎない。このことからわかるように、Windows Vistaのスリープは、DRAM周りの電源を完全にOFFにしていない。Vistaに対応したハードウェアのみサポートするというのは、こういうことができる(必要な省電力モードがサポートされている)か否かという違いからである。
以上を前提として「快適で安定して使えるのはどっち?」にある「図1:Windows Vista(スリープ)とWindows XP(休止状態、スタンバイ状態)の電源制御の仕組み」を見てみよう。Windows XPの休止の説明には「起動速度は遅いが省電力」とある。これは、DRAM周りも含めて電源をOFFにしているのだから自明だが、一方、Windows Vistaのスリープの説明も「起動速度が速く、省電力も実現」とある。先にふれたように、原理的にDRAM周りの電源をOFFにできないはずであるにもかかわらず、DRAM周りの電源をOFFにしているXPの休止状態と同じ「省電力」という表現を用いているのはおかしい。
もちろん、PC全体の消費電力から考えるべきだが(XPとVistaのサポートする省電力モードが異なり、一般的に後から出てくるものがよりディープな省電力モードをサポートしている)、DRAM周りに限ってみれば、XPの休止状態の方がVistaのスリープよりも電力消費が少ないのは明らかだろう。DRAMが通電されているか否かの違いは、それだけの差があると思う。にもかかわらず、「省電力も実現」とはよくぞ言ったと呆れてしまう。
また、本文中には「電源障害などでメモリ上のデータが消えた場合でも、ハードディスクにデータが残っていますので、完全な電源オフ状態からの復帰よりもすばやく、安全にパソコンが使用可能になります」とあるが、メモリ上のデータが消えた場合の復帰時間は、言うまでもないが3.4秒ではない。読めばわかるように、比較対象は「完全な電源オフ状態」である。DRAMの内容が電源障害などで吹っ飛んでしまえば、再起動と同等の処理が必要となり、唯一異なるのがHDDに保存された作業中のデータ及びデスクトップイメージ等の有無である。察しのとおり、「すばやく」と言えるかどうか怪しいことがわかるだろう。
なお、以上の話はデスクトップPC(より厳密に言えばバッテリを搭載していないPC)に該当するものであり、ノートPCはまた異なる動作となるが、長くなったのでここではふれないでおく。
では、続いて「ソフトウェアの起動時間(SuperFetchのON/OFF含む)」について見ていこう。
これは「図2:Windows XPとWindows Vista(Windows SuperFetch)のメモリ管理の違い」で、一目瞭然である。よく利用するアプリケーションソフトウェアをOS起動時に読み込んでおくというおせっかいが、Windows Vistaの起動時間が長いという一因だというのが確認できるだろう。また、せっかくキャッシュしていても、少ないRAM搭載量であったなら、すぐにそれはスワップされてしまうか廃棄されてしまうことになる。つまり、読み込む必要のないデータを時間をかけて読み込んだあげく、それを使わずに廃棄する。よほどパフォーマンスに余裕がなければ、誰がこんなことを頼むだろうか(苦笑)。
確かに、ベストマッチすれば起動時間は速くなるだろう。だが、5倍速くなるというシーンですら、「Outlook 2007、Word 2007、Excel 2007、PowerPoint 2007」の4つ同時起動(正確には時間差起動)という通常ではあり得ないもので、ようやくこれだけの差を生んでいるに過ぎない。裏を返せば、最低でも4.7秒は起動時間が延びているはずである(アプリケーションソフトウェアをHDDから読み出す時間が変わるわけではない)。
以上のことからわかるようにベストマッチすれば起動時間が速くなるが、バッドケースでは逆に遅くなることもわかるだろう。これはケースバイケースであり、効果は定期的に同じ順番でソフトウェアを起動するケースに限られると言っていいものである。
続いて「ユーザインタフェースの重さ(AeroのON/OFF含む)」について。これは、かなりいかがなものか的臭いが漂う(苦笑)。なんと、Windows Aeroの方が軽くなっているというのである。しかし、読めばわかるように「操作感」が軽いのではなく、「CPUの負荷率」が軽いと言い換えられているのである。これらが同じものだというのは、さすがにいかがなものだろう(苦笑)。
これは本文中にも「Windows Aero は、ウィンドウ描画などの処理を 3D グラフィック チップ側で処理します。その分 CPU のパワーが解放されますので CPU を多く使う処理が迅速にこなされるのです」とあるように、GPUに仕事をさせることで負荷を減らしているのは確かだが、肝心のGPUについては何一つふれられていない。GPUの性能差を無視しているとしか思えないが、いくら仕事を分け合うにしても、分け合う相手が今一つなら相対的にパフォーマンスが落ちるのは言うまでもない。そういう理屈を持ち出すまでもなく、操作感が重いということをCPU負荷率に置き換えてしまうところそのものに難がある、と言えるだろう。
最後は「ReadyBoostの紹介(これはXPとの比較がない)」。本文中には、XPはメモリ増設できないPCでもVistaにすれば、Windows ReadyBoostを活用すればメモリを増設したようになる(メモリ不足を解消と表現)とあるが、そもそもこれが誤った表現なので、XPとの比較がないとして話を進める(単にHDDへのキャッシュと言うべき)。
キャッシュメモリの効用はそれなりにあるので、ここでは細かい点にはいちいち突っ込まない(なぜここだけ512MBのRAMを搭載したPCに変更されているのかという疑問は提示しておくが)。気になるのは、「グラフ4:Windows Vista SP1で、Windows ReadyBoostによりメモリ追加をした場合の、搭載CPU別ソフトウェア起動時間の違い」である。
グラフ4には、Core 2 Duo(表記はCore 2 DUO)とPentium 4が比較対象として並んでいるが、あろうことか、ちょっと古いパソコンとされているPentium 4搭載PCの方が最新のCore 2 Duo搭載PCよりもパフォーマンスが高い(起動時間が速い)のである。Windows ReadyBoostの有無よりも、Pentium 4搭載PCの方が優れている(Core 2 Duo+512MB ReadyBoost有よりも、Pentium 4+ReadyBoost無の方が速い)というのは、どういうことだろうか(苦笑)。
結論では買い換えがオススメとしているが、少なくともWindows ReadyBoostのテストでは圧倒的なパフォーマンスを示したPentium 4搭載PCに対し、買い換えは失礼というものだろう(苦々笑)。と、それはともかく、十番勝負のうちのたった一つでこれだけのつっこみどころがあった。あと9番もあると思うと、さすがにやる気も起きない(その1としたが、その2以降はないだろう)。ということで、今回はここまで。
最近のコメント