おはっす(挨拶)。
RemoteFXについて少しずつ調べていく。RemoteFXとは下記のとおりWindowsのデスクトップのユーザエクスペリエンス配信機能。
http://technet.microsoft.com/ja-jp/library/ff817578(v=ws.10).aspx
今日はAndroid版Microsoft Remote Desktop(以下RD Client)でRemoteFXが効いているかを見てみる。今のところ配信側には何も特別な設定をしていない。RemoteFXに含まれる技術範囲が広くて、よくわかっていないというのを最初に書いておく。
まずホストになっているThinkPad W520のWindows8.1の状況。ディスプレイは本体、HP ZR2240w(DisplayPort)、ProLite B2280HS(VGAポート)の3つ。DirectX 診断ツールで見てみる。このツールの起動はウィンドウズキー+Rで「ファイル名を指定して実行」ダイアログを出してdxdiagを名前(O)欄に入れると起動する。
このPCはディスプレイアクセラレータを(ノートPCのくせに)2枚積んでいる。本体用がIntel、外部出力用がNVIDIA。
続いてリモートデスクトップサーバーのWindows 2012 R2。この画面はVMware Playerのコンソールをキャプチャしたもの。DirectXの機能だが3機能ともに使用可能となっている。Audioサービスは起動しているのでサウンドも動作している。
さてAndroid版RD Clientではどうか。上のリモートデスクトップサーバとなっているWindows Server 2012 R2から、RemoteAppでdxdiag.exeを公開している。
DirectXの機能のうち、DirectDrawアクセラレータとAGPテクスチャアクセラレータが”利用できません”になっている。
DirectDraw(Wikipediaから引用)
DirectDrawはマイクロソフトのDirectX APIの一部である。パフォーマンスが重要なアプリケーションでグラフィックをレンダリングするために使用する。アプリケーションはフルスクリーンで動作し、またほとんどのウィンドウズアプリケーションのようにウィンドウ内で動作するようにもできる。コンピュータ端末のハードウェアアクセラレーションを利用できる場合はこれを利用する。DirectDrawはビデオメモリ、ハードウェアオーバーレイ、ハードウェアブロック転送、ページフリップを直接操作できる。DirectDrawのビデオメモリマネージャは簡単にビデオメモリを操作でき、ブロック転送をうまく活用でき、様々なビデオカードで様々な色数に対応できる。
DirectDrawは2DのAPIである。すなわち、2Dレンダリングのためのコマンドがあり、3Dハードウェアアクセラレーションはサポートしない。プログラマはDirectDrawを使用して3D映像を描画できるが、3DハードウェアアクセラレーションをサポートするDirect3DのようなAPIと比較してレンダリングが遅い。
Direct3D(Wikipediaから引用)
Direct3Dは、3Dグラフィックスを描画するためのAPIである。マイクロソフトのDirectXの一部であり、様々なWindows(主にWindows 95以上)で動作し、さらに、家庭用ゲーム機であるXbox及びXbox 360のグラフィックAPIのベースでもある。
AGP(Wikipediaから引用)
Accelerated Graphics Port(アクセラレーテッド グラフィックス ポート、AGP)とは、インテルが策定したビデオカード用の拡張ポート規格である。
2005年末時点でのマザーボードの新製品では、より高性能だがAGPと互換性のない後継規格PCI Express (PCIe) スロットのみを搭載したマザーボードが一般的となったため、AGPは事実上旧規格(レガシーデバイス)となり、各ビデオカードベンダーの最新型製品におけるラインナップはPCIeを中心とした物に移り変わっている。
ということで最新の規格はDirect3Dのようなので、実質的には問題なさそう。