RDPで仮想マシンからのウィンドウ表示を高速化する
RDPは通信を介して、表示を別のマシンにする仕組みだ。当初は、シンクライアントなどの非力なマシンを想定していたため、クライアント側の負荷や通信量が少なくなるように考えられていた。しかし、ネットワークは高速化し、同じ物理マシン上で実行される仮想マシンの表示をするとなると、考え方は大きく変わってくる。
まず、仮想マシンとホストOS間では、ハイパーバイザーの機能を使って、コミュニケーションが可能だ。また、相手がホストWindowsだとすれば、VMとホスト間でのメモリ共有も難しくない。仮想マシンが専有しているメモリは、VMMEMという仮想的なプロセスが専有しているメモリとしてWindows側からは見えるようになっている。このため、ハイパーバイザー経由の通信で制御すれば、問題を起こさないように共有メモリを実現でき、グラフィックス描画のような比較的大きなデータでもやりとりが可能だ。
RDPには、すでにこうした仕組みが装備されていると考えられる。これをMicrosoftは、VAIL(Virtual Application Integreated Locally)と呼ぶ。この名称は、前述のRAILと対になることを想定してのものだ。VAILでは、仮想マシン内で行われたGUIアプリケーションのウィンドウ描画は、共有メモリを介して、ホスト側に渡す。通信を前提としないため、VAILを使えば、WSL2側(ゲストOS側)からのウィンドウ描画を高速にホスト側のデスクトップに表示できる。
さらに、WSL2側で仮想GPU(仮想GPUユーザーモードドライバー)が動作できるなら、共有メモリの描画イメージをCPUで扱うことなく、直接GPUがデスクトップに合成できるようになる(そもそもDWMではGPUを使ってウィンドウからデスクトップを合成している)。
しかし、仮想GPUをWSL2側で動かすには、いろいろと準備が必要となる。そこで、共有メモリをソフトウェアでレンダリングすることも可能なようだ。ただし、Win32側がDirectX 11で動作している場合、DWMに引き渡す前に一回コピー動作が入り、表示速度が落ちることが考えられる。Windows 10では、Windows 7からのアップデートを許しているため、ハードウェア的には、DirectX 11の環境が残っている可能性もありえる。
LinuxのGUIアプリケーションが動作するようになると、ユーザーの「Linux」への見方が大きく変わるような気がする。WSLが導入されてから、筆者のコマンドライン利用は大きく変わった。たとえば、原稿ファイルの文字数や行数を調べたいときにはWSL側のwc(Word Countプログラム)を使う、用語の置換などをawk(テキスト処理が可能な言語)で処理する、などだ。一時Unixで仕事していたこともあり、Unix/Linuxのコマンドラインには慣れていて、WindowsのcmdやPowerShellにちょっとした不満もあった。気軽にbashが使えるという環境は、LinuxとWindowsの両方を使うことができるユーザーには魅力があるように感じる。
Linuxを中心に利用するユーザー、開発者なども、組織外とのやりとりでWordを使う必要があったり、あるいは、ExcelのVBAでデータを処理するといったときに、2つの環境を行き来するという不便があった。
以前紹介したように、WSL2内でもNested VMで仮想環境が利用可能になり、さらにWSLGが導入されると、WSL2は“ほとんどLinux”と言っていいレベルになる。Linuxユーザーに対しては、WSLを使うという選択肢が提供され、Windowsユーザーには、Linuxがすぐに使えるというメリットが生まれる。そのときユーザーは、どういう動きになるのかに興味がある。

この連載の記事
-
第508回
PC
Scalable Vector Graphics(SVG)そもそも何なのか? -
第507回
PC
Windows 11の「開発者モード」とは何か? -
第506回
PC
Windows 11は早くも来秋登場の26H2プレビューの準備が始まる -
第505回
PC
結構変化しているWindows 11のエクスプローラーの基本設定を見直す -
第504回
PC
新しいOutlookとOutlook Classic、そろそろ古いOutlookとExchangeの組み合わせは引退の頃合いか -
第503回
PC
機能が増えたこともあり、寄せ集めから統合化に進むWindowsの便利ツール「PowerToys」 -
第502回
PC
Windows 11でBluetoothのオーディオ新規格「Bluetooth LE Audio」を試す -
第501回
PC
Windows 11 Ver.25H2での変更点、新機能を整理する -
第500回
PC
Windows 11 Ver.25H2が完成した -
第499回
PC
Windowsでの致命的だが回復可能なエラーに備える手段を2つ紹介 -
第498回
PC
Windows Terminalの安定版V1.23が公開 設定UIが改良される - この連載の一覧へ












