こんにちは、阿久津です。本誌に寄稿した記事でもご説明したように、Windows 7の上位エディションでは、下位互換性を維持するために「Windows XP Mode」という仮想環境が用意されています。同機能を支えるWindows Virtual PCは、以前から無償公開されていたMicrosoft Virtual PC 2007をベースに改良を加え、USBデバイスのサポートなどいくつかの新機能を搭載しています。概要や導入手順は、前述の記事をご覧になって頂くとして、筆者が当初から気になっていたのが、Windows XP Modeの動作状況です。

Windows XP Modeを起動し、スタートメニューを開きますと、通常は<ログオフ>ボタンの右に<終了オプション>ボタンが表示されます。しかし、Windows XP Modeのそれは<切断>ボタンが表示されることにお気づきでしょうか。これはリモートデスクトップ接続時に表示されるスタートメニューと同じ構成です(図1)。

図1: 通常のWindows XP(左)とWindows XP Mode(右)では、スタートメニューのボタンが異なります

従来のVirtual PC 2007では、仮想コンピュータ内に用意された仮想デバイスにビデオドライバを組み込んで、実際のデスクトップに描画していました。しかし新しいWindows Virtual PCでは、このデスクトップへの描画をRDP(Remote Desktop Protocol)経由で行なうように変更されています。この変更点は、USBデバイスのサポートと並ぶ最大の特徴でしょう。

このRDP経由の描画を理解するには、Windows Server 2008に関する知識が必要です。同OSのターミナルサービスでは、従来のデスクトップ全体を提供するリモートデスクトップだけでなく、アプリケーションの画面だけを提供するターミナルサービスRemoteAppという機能が用意されています。これは、ユーザーにリモート操作を意識させないため実装された機能で、仮想OSの処理はサーバー側ですべて行ない、その結果をクライアントに転送するというもの(図2)。

図2: ターミナルサービスRemoteAppの概要。MicrosoftのFuture Technology Daysで提供されたスライドより

また、現在開発中のWindows Server 2008 R2とWindows 7では、RDPの最新版となるバージョン7.0を搭載。各操作をコマンドストリームに変換し、クライアントとサーバのやりとりをシンプル化することでパフォーマンスの向上を実現しています。MicrosoftのFuture Technology Daysで提供されたスライドを見ますと、ユーザーモードで動作する各アプリケーションと、描画を担うRDP Driver Stackは最適化されたコマンドストリームで処理されていることが一目で把握できることでしょう(図3)。

図3: RDPのグラフィックの主な構成。MicrosoftのFuture Technology Daysで提供されたスライドより

このRDPから一部の技術を用いたのが、Windows XP Modeの仮想アプリケーションです。しかし、実際に使ってみますと、描画遅延が発生する場面や、パフォーマンスに首を傾げる場面に出会うことがあるのではないでしょうか。同一のコンピュータで、Windows VistaにVMware Playerを導入し、ゲストOSとしてWindows XPを構築してみましたが、こちらでは全体的なパフォーマンスはともかく、描画が遅くなるといった場面はありません。

ここで気になるのが、Windows Virtual PCの描画に用いられるRDPバージョンはいくつなのか、という点。RDP 7.0に対応しているのであれば、図3で示したようにマルチメディアリダイレクトやDirectXリダイレクトが実現されるため、古いPCゲームも楽しめるはずです。早速調べてみましたが、執筆時点ではWindows Virtual PCの公式サイトに技術資料は掲載されておらず、関連するDLLファイルや実行ファイルを覗いても、判断材料は見つかりませんでした。

試しに1,280×720ドット/6.5MbpsのWindows Media Videoファイルを、Windows XP Modeのハードディスクにコピーし、再生させて見ました。しかし、CPU占有率は高いながらも、フレームレートは2~3程度と紙芝居に近い再生状態で、事実上視聴することはできません。DirectXアプリケーションも試してみましたが、一部は動作するもののパフォーマンスは動画ファイルと同様かんばしくありません。また、初期化エラーが発生するアプリケーションもありました(図4)。

図4: ドライバは「RDPDD.dll」が使用されているため、マルチメディア関連機能は少々厳しい状態です

これらの動作や過度に高いCPU占有率を踏まえますと、今回試用したベータ版はRDP 6.1が用いられているのではないかとの結論に達しました。確認の術がないため断言できませんが、そもそもWindows XP Modeは、個人ユーザーを対象にした機能というよりも、Windows XPを使わざるを得ないビジネスユーザー向けに、Windows 7を売り込むため用意した機能という印象を強く受けます。その点を踏まえるとリリース版でRDP 7.0を実装する可能性は高くありません。

個人的にはRDP 7.0をサポートし、Windows VistaやWindows 7で実行しますと、描画関係でトラブルが発生する、古い海外PCゲームの実行環境として期待していましたが、Windows XP Modeにコンシューマ的役割を求めるのは荷が重そうです。

今回はWindows Virtual PCの描画部分のみ注目しましたが、全般的な機能を見渡しますと、他の仮想環境ソフトと比べるほど多機能ではありません。Microsoftが前述したような意図を持っているのであれば、従来のメインOSであったMS-DOSが、Windows 2000でコマンドプロンプトに生まれ変わり、Windows Vista 64ビット版で16ビットアプリケーションを非サポートにしたように、Windows 7におけるWindows XP Modeは、DOSボックス(コマンドプロンプト)というポジションと役割を担うのかもしれません。

そろそろ誌面も尽きてきましたので今回はこの辺で。次回もWindows 7の新機能をチェックしていきましょう。

阿久津良和(Cactus)