●仮想環境下でDirectXをサポート Intel Mac上でWindowsアプリケーションを利用する方策として、システムの再起動を必要としない仮想化は、非常に有力な方法の1つだ。現時点では仮想マシンが提供するハードウェアの機能に制限があり、必ずしもすべてのアプリケーションが動作するわけではないし、性能面でのペナルティも大きい。だが、こうした制約も少しずつ軽減され、ますます利用が拡大していくものと思われる。Mac上の仮想化ソフトウェアの代名詞といえば、しばらく前なら「Virtual PC」だったが、MacのプロセッサがIntelに代わり、最もポピュラーな存在となったのがParallelsの「Parallels Desktop for Mac」だ。つい先頃、Macデスクトップ上でWindowsアプリケーションをウィンドウ状態で利用可能なコヒーレンスモードをサポートした新版(Build 3188)がリリースされた。 このParallelsを追いかけるように、Intel Mac上で利用可能な仮想化ソフトウェアを開発中なのがVMwareだ。多くの人がご存じのように、VMwareはIntelプラットフォームにおける企業向けの仮想化ソリューションでは歴史と実績を持つ。それだけに、どのような仮想化ソフトウェアをMac向けにリリースするのか、期待されるところである。
では、どんなソフトウェアが動作するのだろう。β2のリリースノートにあげられているのは、「Need for Speed Porsche Demo」、「Tony Hawk 3、Grand Theft Auto III」といったゲーム、あるいはゲームをベースにしたベンチマークソフトである「3DMark 2001」といったあたりだ。従来DirectXのアプリケーションというとゲームが中心だっただけに、こうしたタイトルが並ぶのは、ある意味当然のことではある。 これらのアプリケーションは、大まかにいうと2000年前後にリリースされたものが中心で、最先端のタイトルは含まれていない。現在のβ2でサポートされているのが「限定的な」DirectX 8.1の仕様であるとされていることを考えれば、納得がいく。試しに実行してみた「Need for Speed Porsce Demo」は実質的にはDirectX 7.0aのアプリケーションだし、DirectX 8.1をサポートした3DMark 2001 SEでは、Pixel Shader関係のテストは「ハードウェア未サポート」として実施することができなかった。 スコアについてはライセンス上、公開することができないが、パフォーマンスも決して高速とは言い難い。レースゲームの「Need for Speed」も、動いていることを確認したものの、「遊べる」と呼ぶのはためらわれる。Fusion自体が開発中であり、公開されているβ版がまだデバッグモードで動作していること、用いたIntel Macが決してグラフィックス性能が良いとはいえないMac miniであること(共有メモリを用いたチップセット内蔵グラフィックスを使用)、DirectXのサポートがソフトウェアによるものであること、などさまざまな理由が考えられる。
●DirectXサポートは必須機能に ただ、こうした制約や制限が製品版で解消し、3Dゲームがびゅんびゅん動くようになるかというと、おそらくそうはならないだろうし、VMware自体がそうした方向性を目指してはいないのではないかと思う。もともとVMwareは企業向けの仮想化ソリューションの会社であり、ゲームをサポートするカルチャーの会社ではない、ということも理由だが、それより何より、ゲームが基本的に仮想化向きのアプリケーションではないことが大きな理由だ。一言で言って、ゲームは非常に要求の厳しいアプリケーションジャンルである。ハードウェアの性能や互換性を極限まで要求する。オーバーヘッドの大きい仮想マシンで実行するのに適したアプリケーションではない。もちろん、オーバーヘッドを小さくするべく、仮想化を支援するハードウェア技術の開発が続けられている(VT-d、IOV、etc.)わけだが、それでもネイティブより速くなることはない。 基本的に仮想化は、性能の一部を割いて、代わりにセキュリティや冗長性といった、その他のメリットを得るものであり、究極の性能を必要とするアプリケーション向けの技術ではない。企業向けのPCであれば、性能の一部を犠牲にしてセキュリティを得るというトレードオフは成り立つけれど、コンシューマ向けのPCで、仮想化を使ってわざわざPCの性能を犠牲にして得られる「何か」というのはあまり考えつかないのが正直なところだ。 Macの上の仮想化が例外としてコンシューマ向けにも成立するのは、Macといういわばマイノリティの環境で、Windowsというメジャープラットフォーム用のアプリケーションが利用可能になる点に価値があるからだ。セキュリティが絶対的な価値を持たないコンシューマ向けのWindows PCでは、わざわざ仮想化を用いてPCを遅くする理由はほとんど見つからない。だからこそMicrosoftは、Vista Home BasicとVista Home Premiumを、仮想環境のゲストOSから除外したのである。 では、ゲームのためでないとしたら、なぜFusionはDirectXをサポートするのか。それは言うまでもなく、DirectXがWindowsの画面描画技術として、これまでのGDI等に代わる中核技術となりつつあるからだ。要するに近い将来、仮想マシンでWindowsをサポートするには、DirectXのサポートが不可欠になる。そのための準備だと考えておくべきだろう。もちろん、短期的にはVistaのAeroを利用可能な状態でサポートしたい、という事情があるハズだ。Build 3188をリリースしたParallelsも、次のアップデートではDirectXのサポートを行なうと言明している。 ParallelsにしてもFusionにしても、Intel Mac上で仮想化環境を利用していて感じるのは、仮想化がハードウェアリソース、特にCPUとメモリを激しく消費することだ。CPU性能が欲しくなる理由として、I/Oなどハードウェアによるアクセラレーションがまだほとんど利用できず、ソフトウェア処理せざるを得ないことも大いに関係しているだろうが、IntelやAMDが仮想化を推進したがるわけである。 Intel Mac固有の問題としては、Mac Pro以外のMacが、デスクトップ(iMac、Mac mini)、ノートブック(MacBook、MacBook Pro)を問わず、基本的にモバイルアーキテクチャに基づいているため性能上の制約が多いことが挙げられる。Mac OS自体は大容量メモリをサポート可能だが、ノートPCを念頭においたモバイル向けチップセットでは、十分な物理メモリを搭載できない。これが制約となって、仮想マシンに十分なメモリを割り当てることが難しい。外付けグラフィックスカードを追加する拡張スロットがないことと合わせ、歯がゆさを感じる部分だ。デスクトップアーキテクチャに基づいた、かといってMac Proほと高価ではない、ディスプレイ分離型のMacも必要なのではないかと思う。
□VNwareのホームページ(英文) (2007年3月30日) [Reported by 元麻布春男]
【PC Watchホームページ】
|