企画記事
ゲーマーのためのWindows Vista Service Pack 1ファーストインプレッション
→32bit版Vista用SP1ダウンロードページ
→64bit版Vista用SP1ダウンロードページ
→MicrosoftによるSP1紹介ページ
※32/64bit版のどちらをダウンロードすればいいか迷った人は,32bit版を選択してください。2008年3月時点でほとんどのVista搭載PCは32bit版を採用しています。
ここ何世代かの傾向からして,新しい世代のWindowsでSP1が登場すると,こうした動きは大きく加速する。つまり今回のVista SP1は,我々PCゲーマーが(好むと好まざるとにかかわらず)Vistaへ移行せざるを得なくなる可能性を秘めたリリースといえるわけだが,果たして実際のところはどうなのだろうか。多くのPC/IT系メディアで事前に情報が出ているから,「もうお腹いっぱい」という人も少なくないと思うが,本稿では,ゲーマー視点で見たVista SP1について,少し説明を行ってみたいと思う。
DirectX 10.1よりも実は重要なWDDM 2.1
3Dパフォーマンスの大幅な向上はない
ズバリ,DirectX 10.1における目玉要素は,大きく分けて「画質の向上」「プログラマー支援」の2種類だ。
「画質の向上」について見ていくと,例えばDirectX 10では最大8枚のサーフェスにレンダリングして,それらを重ねて出力できたが,DirectX 10.1ではその重ね方のバリエーションが増えている。簡単にいえば,これまでより豪華な,凝った画面作りが可能になる。
また,アンチエイリアシング機能も強化される。ジャギー(※ドットが階段状に並ぶことで生じる,ギザギザした画面)を軽減するアンチエイリアシングには,「4x MSAA」などといった設定があることをご存じだろう。4x MSAAの場合,あるピクセルの色を四つのサブピクセルで共有することでジャギーを目立たなくするが,DirectX 10.1では,共有するサブピクセルの範囲や色を,プログラム(=ゲーム)側で制御できる「プログラマブルアンチエイリアシング」が新たにサポートされた。これも簡単にいえば,「画面の見た目をよくするため,ゲーム側にジャギーの低減をさせられるようになった」といったところだ。
もう一つの新要素「プログラマー支援」については,ゲーマーとは直接関係ないから読み飛ばしてもらってかまわないが,簡単にまとめると,テクスチャを階層構造で扱えるようになるとか,シェーダの低レベルプログラミングがやりやすくなるとかいったところがメインになる。GPUでの汎用計算,つまりGPGPU的な利用法を支援する機能もDirectX 10.1で追加されており,Microsoftは,ゲームの開発効率が上がるとアピールしている。
だが実のところ,DirectX 10.1世代における最大の目玉は,これら新機能よりむしろ,「WDDM」(Windows Display Driver Model)の改良のほうにある。
WDDMは,Vistaで取り入れられた新しいグラフィックスドライバ(※Microsoftは「ディスプレイドライバ」と呼んでいる)の仕組みだ。このあたりは,約1年前に掲載した筆者の執筆記事「Vista買うのはまだ早い!(1)グラフィックス編」に詳しいので,興味のある人はぜひ併せてチェックしてほしいが,WDDMは,
- グラフィックスドライバをユーザーモードとカーネルモードに分離して安定性の向上を図る
- Windows XPでは不可能だった「複数のアプリケーションからグラフィックスカードの機能を利用する」ことを可能にする
SP1導入前のVistaでサポートされていたバージョンはWDDM 2.0だが,SP1ではWDDM 2.1へと引き上げられており,「グラフィックスドライバのタスクスイッチ」に対するサポートが強化されている。
複数のアプリケーションが同時にGPUを利用するためには,グラフィックスドライバが複数のアプリケーションからの“依頼”を適切に切り替えながら処理しなければならない。この依頼を「タスク」と呼ぶが,要するにタスクの切り替え=タスクスイッチに対応している必要がある。
SP1導入前のVistaがサポートするWDDM 2.0でも,もちろんタスクスイッチには対応しているのだが,完全ではない部分があった。誤解を恐れず簡潔にまとめるなら,WDDM 2.0ではスイッチできるタイミングに制限があって,アプリケーションが並列動作しているときの反応にスムースさを欠きがちだった。その点,WDDM 2.1ではこの制限が緩和され,GPU仮想化の完成度が上がっているのだ。
そのほかにも,WDDM 2.1では著作権保護されたビデオデータといった「セキュアコンテンツ」の再生サポートなど,いくつか新機能はあるが,このあたりはあまりゲームプレイとは関係ないので省略する。全体として,DirectX 10.1もWDDM 2.1も,パフォーマンスの向上というよりは,問題の修正と使い勝手の向上を目指したアップデートといえるだろう。
また,アプリケーション側の対応も待つ必要があるが,少なくとも現時点においてDirectX 10.1を利用した市販ゲームタイトルのアナウンスはとくにない。Futuremarkの次世代3Dベンチマークソフトウェア「3DMark Vantage」がサポートするのでは? という噂もあるが,現時点ではその程度。SP1で導入されるDirectX 10.1やWDDM 2.1が理由でVistaの3Dパフォーマンスが劇的に向上することは,当面ないと理解しておくのが賢明だ。
悪名高きファイル操作の遅さを払拭
そのほか,主要ポイントをざっと確認
冒頭で述べたとおり,Vista SP1には570以上の更新プログラムが含まれている。そのうちの多くはVista発売後のWindows Updateで適用されたりしているので,570超のすべてがいきなり当たったりするわけではないが,それでもかなりの量である。PC/IT技術者向けサポートサイト「Microsoft TechNet」にはSP1の主要な変更内容が細かく書かれているが,そのうちゲーマーにとっても重要度の高そうなところに絞って紹介してみたい。
●ファイル操作の高速化
Vistaでファイル操作が異様に遅くなってしまった理由は不明だが,Vistaで新たに取り入れられた「Low Priority I/O」が関係しているかもしれない。
Windows XPでは,ディスクアクセス処理のプライオリティ(優先順位)が変えられなかったので,例えばウイルススキャンプログラムなど,バックグラウンドプロセスがHDDにアクセスしている最中に,ゲームプログラムなどのフォアグラウンドプロセスがディスクアクセスを始めると,両者が“衝突”。結果ディスクパフォーマンスが落ちて,ゲームの反応速度が下がるという症状を起こすことがあった。
この問題を解決するため,Vistaでは,ディスクアクセスの優先順位をアプリケーションが設定できる仕組みが取り入れられた。それがLow Priority I/Oだ。例えば今の例だと,Low Priority I/O対応アプリケーションを利用することにより「ウイルススキャンの優先度を下げて,優先順位の高いゲームなどのディスクアクセスを相対的に高速化する」といったことができるようになっている。
ちなみにVistaでは,OSの内部的な処理となるファイル操作の優先順位も部分的に落としているフシがあり,エクスプローラのファイルコピーはその典型的な例だった。「ファイルコピーの優先順位を下げて,ほかのアプリケーションの優先度を相対的に上げよう」ということだったと思われるが,それが仇になって「ファイルコピーが遅い」というレッテルを貼られた可能性はある。
その点Vista SP1では,この問題が解決され,さらにプログレスバーの表示も正常化しているとされる。ファイル操作関連の処理が高速化されるのは,体感速度に大きく影響するので,ゲーマーにとっても歓迎すべき点だ。
●32bit版Windows Vistaで,4GB超のメインメモリ容量を正しく表示
SP1では,マザーボード側のBIOSが対応していれば,4GBのメインメモリを搭載したシステムで,メインメモリ容量を4GBと正しく表示できるようになった。もっとも,32bit OSの限界を突破できているわけではなく,あくまで表示が正しくなるだけである。32bit版Vistaを利用する限り,SP1を導入しようとしまいと,利用できる容量は3GB強だ。
表示を正しくしたのは,メモリモジュールが安価になったためだろう。メインメモリを4GB搭載したシステムのユーザーから「正しく認識されていないじゃないか!」とクレームが来てしまうのを,あらかじめ避ける狙いがあると思われる。
●互換性の向上(?)
Vista SP1のトピックとしては,過去のアプリケーションとの互換性向上も挙げられる。ただこれは実のところ,過去にリリースされた「Windows Vista Performance & Reliability Pack」(KB938194,KB938979,KB941649)が組み込まれている程度と考えてよく,SP1で突然,安定性や互換性が上がるわけではない。いままで動作しなかったゲームがSP1の導入後,突然動くようになったりするといった期待はしないほうがよさそうだ。
SP1でゲームのパフォーマンスは上がるのか?
XP&発売直後のVistaとSP1を比較
以上,ゲームに関連したところをピックアップしてきたわけだが,実際のところ,この1年強で,Windows Vistaはどれくらいパフォーマンスを上げてきたのだろうか? 取り急ぎ確認してみることにしよう。
テスト環境は表のとおりで,テスト時期の都合によりベンチマークレギュレーション5.1準拠となる。タイトルは同レギュレーションから「3DMark06 Build 1.1.0」(以下,3DMark06),「Half-Life 2: Episode Two」「Crysis」をピックアップした。テスト方法は基本的にレギュレーションの「標準設定」準拠だ。
このほかテスト環境は表のとおり。2007年1月の一般向けVista発売直後,すなわちWindows Updateを一切行っていない状態を「Vista Original」と表記すること,GeForce用グラフィックスドライバ「ForceWare」のバージョンは「FW●.●」と簡略化することをあらかじめお断りしておきたい。
さて,まずは定番3Dベンチマークソフトといえる3DMark06である。
ここでは,Vista OriginalとVista SP1に,Vista Original発売直後のNVIDIA公式最新版グラフィックスドライバとなるFW100.65と,Vista SP1時点の公式最新版であるFW169.25を組み合わせた4パターンのデータを取り,Windows XP+Service Pack 2(以下,XP SP2)に2008年3月19日時点のXP用公式最新版ドライバであるFW169.21を組み合わせた状態と比較する。GPUにはGeForce 8800 GTXを利用し,ハードウェア構成は完全に統一している。
描画負荷の違いによるスコアの傾向を見るべく,640×480/1024×768/1600×1200ドットという,変則的な3パターンの解像度におけるスコアを取得した結果をまとめたのがグラフ1だ。
総合スコアを見る限り,SP1の有無によるパフォーマンス差はない。むしろグラフィックスドライバのアップデートによるパフォーマンスの向上が顕著だ。初期のVista用ForceWareは,お世辞にもマトモな出来とはいえなかったが,あれから1年が経過して,ずいぶんとXP SP2のスコアに近づいているのが分かる。
レンダリング処理のオーバーヘッドなどを調べるため,Feature Testから「Fill Rate」「Pixel Shader」「Vertex Shader」も実行しているが,Vista Original,Vista SP1とも同じバージョンのグラフィックスドライバを使えば同じようなスコアが得られている。注目したいのは,Pixel ShaderのスコアがFW100.65とFW169.25で大きく異なっている点で,スコア差の分だけグラフィックスドライバの最適化が進んだと推測できそうだ。
つまり,
- Vista SP1では3D処理回りに変更が加えられているものの,オーバーヘッドは生じていない
- Vista Originalの3Dパフォーマンスが低かったのは主にグラフィックスドライバの最適化が進んでいないせいだった
ことになる。
もっとも,3DMark06だけで実ゲームのパフォーマンスを推測するのは危険。そこで実施したのが,先述したHalf-Life 2: Episode TwoとCrysisのテストだ。DirectX 9世代を代表するゲームエンジンの一つである「Source Engine」と,DirectX 10世代の「CryENGINE 2.0」で,違いが出るかどうかを見る狙いもある。
ここではスケジュールの都合により,GPUをGeForce 8800 GTに変更しているが,そのほかのハードウェア構成はグラフ1〜4と同じだ。また,FW100.65では不具合が生じてベンチマークテストを実行できないため,すべてRelease 169世代のForceWareを利用している。
Half-Life 2: Episode Twoの結果から見ていくと,3DMark06と同じく,Vista OriginalとVista SP1で違いはほとんどない(グラフ5)。贔屓目に見ればVista SP1のほうがVista Originalよりも若干スコアは上だが,Vista環境ではXP SP2よりもスコアが少々荒れがちになるのを踏まえると,ほとんど誤差の範囲である。
また,XP SP2とVista SP1では,大きな違いが生じており,最適化の進んでいないタイトルにおいては,依然としてXP SP2のほうがフレームレートは高く出るようだ。
お次はCrysisだが,同タイトルは最低でもKB940105:Windows ゲーム開発に仮想アドレス空間の使用というHotFixを適用しない限り,Vista Originalでは実行できない。そのため,このテストに限り,Vista OriginalにKB940105 HotFixを適用している。
なお,Vista環境でCrysisのベンチマーク用バッチファイル「Benchmark_GPU.bat」「Benchmark_CPU.bat」は,そのまま実行するとDirectX 10モードで実行されるが,今回はXP SP2と比較するため,バッチファイルにある「@crysis.exe -DEVMODE」の行に「-DX9」と書き加えてDirectX 9モードで実行した結果も取得した。その結果をまとめたのがグラフ6,7である。
Crysisは最低解像度が800×600ドットになるため,640×480ドット時のテストは省略してあるが,ここでもVista OriginalとVista SP1の違いはほとんどない。やや興味深いのはVista Original/SP1におけるDirectX 9モードとDirectX 10モードのスコアで,「思ったより小さい」と感じる読者は多いと思われる。
少し前提となる話をしておくと,Windows Vistaに実装される「DirectX 9 Ex」は,DirectX 9.0cと互換性を持つAPIを提供する,単なるレイヤーに過ぎない。グラフィックスドライバとのやり取りを行うインタフェース(DDI)は一つしかなく,DirectX 9 Exを通じて3Dを描画する場合でも,グラフィックスドライバ(=GPU)がDirectX 10をサポートするのならDDIにはDirectX 10が使われるのだ(※DirectX 9までのサポートに留まる場合はDirectX 9が使われる)。
今回利用したGeForce 8800 GTはDirectX 10をサポートするため,DirectX 9モードで動作させたときにもDDIにはDirectX 10が使われる。そのため,両モードの差がそれほど大きくないのだろう。とはいえ当然のことながら,よりリッチな描画が行われるDirectX 10モードのほうがGPU負荷は高いので,フレームレートは若干落ちる傾向を示すが。
また,高解像度ではVista Original/SP1のほうがXP SP2よりスコアが高いのも面白い。原因は不明だが,CryENGINE 2.0特有の現象かForceWare最適化の結果,あるいはそれらの複合的な要因によるものかもしれない。
ファイル操作の高速化は
ゲームにメリットをもたらすか
上で述べたとおり,Vista SP1ではファイル操作(=ファイルのコピー&ペーストや移動)面で大幅なパフォーマンスの改善が謳われているが,これがゲームに関連したメリットをもたらすことはあるのだろうか。
そこで,ゲームのパッチ処理速度を,Vista SP1とVista Original,XP SP2で比較することにした。ここでは「Enemy Territory: Quake Wars」の製品版バージョン1.0をセットアップした状態から,ダウンロード済みの最新パッチ,1.5βを実行し,その所要時間を計測。ダイアログ操作の時間を排除すべく,パッチのインストールダイアログに用意された[Install]ボタンをクリックしてから完了するまでの時間をストップウォッチで計るため,多少の測定誤差が含まれることはご了承いただきたい。今回は,小数点以下四捨五入する。
その結果をまとめたのがグラフ8になるが,Vista SP1ではVista Originalよりもアップデート所要時間が大きく短縮されている。今回はVista SP1とXP SP2が同スコアとなったが,体感上もそんな印象だ。先に筆者は,エクスプローラに関連したプライオリティの最適化を指摘したが,この圧倒的な高速化を見るに,どうやらそれだけに留まらず,ディスクアクセス全般のパフォーマンス向上が図られていると見てよさそうである。
というわけでグラフ9は,バックアップ先を同一HDD上,あるいは別のHDD(※Dドライブ)上に指定したときの所要時間をまとめたものだ。
結果は一目瞭然で,Enemy Territory: Quake Warsのパッチ適用処理時にあった大きな差がなくなっている。18分超のバックアップ所要時間を考えると,ほとんど誤差程度の違いしか生じていないといっていい。
これはなぜかというと,Steamのバックアップ処理にはファイル圧縮処理が含まれているからだろう。ファイル圧縮の所要時間が長いため,ディスクアクセスの高速化が全体の速度向上にはつながらない,というわけである。
正直なところ,Vista SP1におけるファイル操作関連の速度向上(とダイアログ表示の正常化)は,一般的なWindows操作時にそこかしこで体感できるほどで,個人的には諸手を挙げて歓迎できる部分だ。
しかし,ファイル操作に関連したすべてで魔法のように速度が向上するわけではない。Enemy Territory: Quake Warsのアップデートでは,[Install]ボタンが表示された時点でファイルの伸張処理が終わっており,ファイルをコピーするだけなので違いが出たが,例えばオンラインゲームのアップデートやゾーニングであれば,当然のことながらネットワーク速度がボトルネックになり得るので,Steamのバックアップと同じように,効果を体感できない可能性が高い。
Vistaユーザーなら導入の“一択”
XPユーザーはプレイするタイトル次第か
過去にリリースされたバグフィックスやパフォーマンスアップデートがすべて含まれ,ファイル操作に関連したパフォーマンスは明らかに向上している。そして,ゲームのパフォーマンスにマイナス面はない――。Vistaユーザーにとって,SP1の導入をためらう要素は見当たらない印象だ。古いデバイスドライバを利用している環境で,SP1を導入できないという問題もあるようだが,ドライバをアップデート,あるいはOSを再インストールしてでもSP1を導入すべきといっていい。Windows Updateによる配布を待つ必要はまったくない。
では,そもそもVistaへ移行していない人にとって,Vista SP1はVista環境へ乗り換える契機となるだろうか?
冷静になってSP1を見てみると,4Gamerで先に指摘した「Windows XPユーザーがVistaへ乗り換えるべきではない理由」は,ほとんど解決していない。グラフィックスドライバの最適化によってWindows XPと同等,あるいは特定条件で上回るフレームレートを出せると判明したのは収穫だが,最適化の進んでいない,Windows XP(=DirectX 9)世代タイトルでは,依然としてWindos XPほどのパフォーマンスは発揮できないでいる。
また,ここまで(語ることが何もないため)触れてこなかったが,以前指摘したサウンド周りの問題――DirectSound 3Dのハードウェアアクセラレーションを利用できなくなっている問題――について,Vista SP1で“代わりの何か”が組み込まれたりはしていない。サウンド周りの課題は放置されたままだ。
ここで難しいのは,冒頭で述べたとおり,最新のハードウェアでは新機能がVistaでしかサポートされないといった制限が生じ始めていることである。またいうまでもないが,Crysisのようなタイトルは,Vista環境(≒DirectX 10環境)でなければ,フルフィーチャーを享受できなくなっているという制限もある。
そう考えると,最新世代の3Dタイトルをプレイしたい人達や,最新世代のハードウェアを使ってゲームを楽しみたい人は,そろそろVista環境への移行を本気で考える時期に来ている気がする。FPS/RTSを中心に,最新世代の3Dエンジンを採用したタイトルはVista環境への最適化や対応が進んでおり,サウンドに関しても,(とりあえず)OpenALに対応することで3Dサラウンドサウンドを“取り戻した”例が増えてきているからだ。こういったタイトルを積極的にプレイする層にとって,「Vista環境は,デメリットよりもメリットのほうが増えてきている」……とまではいえないものの,看過できないメリットが生まれてきているとはいえそうである。
一方,DirectX 9世代のエンジンを採用することが多く,Vista環境のサポートが限定的なものに留まることの多いオンラインゲームや,過去の名作タイトルを積極的にプレイする層にとって,Vistaへ移行するだけの積極的な理由は,Vista SP1にもない。とくにオンラインゲームはユーザーアカウント制御やネットワーク周りの(ノウハウがまだ集まりきっていないという問題に起因する)トラブルが多い。また,ゲームの平均フレームレートはXP SP2よりも基本的に下がるため,Vistaへ移行すると,パフォーマンス面で予期せぬ不満を覚える可能性もある。
その意味においてVista SP1は,ゲーマーの“OS環境”を,Vistaへ移行させるスタートラインにようやく立ったといえ,今後しばらくは,プレイするゲームのジャンルなどによって,プレイヤー一人一人の推すOSが異なるという状況が生じるはずだ。ひとまず2008年3月時点で,最新世代の3Dゲームタイトルを積極的にプレイしたい人やハイエンド指向の人に向けては「パフォーマンスの低下はハイエンドのPCデバイスならたいてい吸収できるから,Vista環境へ移行するのもそろそろアリではないか」と述べつつ,それ以外の人には「まだ様子を見ておいてまったく問題ない」とお伝えしておきたい。
- 関連タイトル:
Windows Vista
- この記事のURL:
(C)2007 Microsoft Corporation.