Product Documentation

WindowsデスクトップOSのためのGPUアクセラレーション

Mar 25, 2016

するX 3D Proを使用することで、グラフィックアプリケーションを仮想デスクトップ上で提供したりデスクトップOSマシン上のアプリケーションとして配信したりできます。 HDX 3D Proは、デスクトップ、ブレード、およびラックワークステーションを含む物理ホストコンピューターと、GPUパススルー機能が有効なXenServer仮想マシン、および仮想GPUを持つXenServer仮想マシンをサポートします。

XenServerのGPUパススルー機能を使用すると、グラフィック処理ハードウェアに排他的にアクセスする仮想マシンを作成できます。 ハイパーバイザーに複数のGPUを装着して、各仮想マシンにGPUを1つずつ割り当てることができます。

XenServerのvGPU機能を使用すると、複数の仮想マシンで単一の物理GPUによるグラフィック処理能力に直接アクセスできるようになります。 このハードウェアGPU共有により、より専門的で複雑な設計作業を行うユーザーに最適なWindows 7またはWindows Server 2008 R2 SP1デスクトップが提供されます。 GPU共有では、NVIDIA GRID K1およびK2のカードがサポートされ、非仮想化オペレーティングシステムで動作するものと同じNVIDIAグラフィックドライバーが使用されます。

HDX 3D Proの機能は以下のとおりです。
  • WANおよびワイヤレス接続でのパフォーマンスを最適化するAdaptive H.264ベースの深圧縮。 HDX 3D Proのデフォルトでは、CPUベースの深圧縮が使用されます。 これにより、ネットワークの状態に応じて最適な圧縮が動的に適用されます。

    H.264ベースの深圧縮コーデックでは、NVIDIA GPU上のCUDAコアによるレンダリングが使用されません。 深圧縮コーデックはCPU上で実行され、帯域幅消費が効率化されます。

  • 特殊なアプリケーションのための無損失圧縮オプション。 HDX 3D ProではCPUベースの無損失コーデックも提供され、医療用画像処理などピクセル単位での精密なグラフィックが求められるアプリケーションがサポートされます。 無損失圧縮はネットワークおよび処理リソースに対する負荷が非常に高いため、特殊なアプリケーションでのみ使用することをお勧めします。
    無損失圧縮を使用すると、以下のように動作します。
    • 表示しているフレームに非可逆圧縮が適用されているのか無損失圧縮が適用されているのかを示すインジケーターがユーザーの通知領域に表示されます。 このインジケーターは、ポリシーの[表示品質]設定で[操作時は低品質]が選択されている場合に便利です。 送信されたフレームが無損失の場合、このインジケーターが緑色になります。
    • ユーザーは、無損失スイッチを使ってセッション内でいつでも[常に無損失]モードを有効にできます。 セッション中に無損失圧縮の有効/無効を切り替えるには、通知領域のインジケーターを右クリックするか、Alt+Shift+1キーを押します。

      無損失圧縮の場合:ポリシーで指定されているコーデックに関係なく、無損失コーデックが使用されます。

      非可逆圧縮の場合:デフォルトのコーデックまたはポリシーで指定されているコーデックが使用されます。

      無損失スイッチの設定は保持されず、次回のセッションではリセットされます。 すべての接続で無損失コーデックが使用されるようにするには、ポリシーの[表示品質]設定で[常に無損失]を選択します。

  • デフォルトのショートカットであるALT+SHIFT+1を無効にし、セッション内で無損失を選択または選択解除できます。 HKLM\SOFTWARE\Citrix\HDX3D\LLIndicatorで新しいレジストリ設定を構成します。
    • 名前:HKLM_HotKey、種類:String
    • ショートカットの組み合わせを構成する形式は、C=0|1, A=0|1, S=0|1, W=0|1, K=valです。 キーはコンマ「,」で区切る必要があります。 キーの順番は関係ありません。
    • A、C、S、W、およびKはキーです。ここで、C=Control、A=ALT、S=SHIFT、W=Win、およびK=aが有効なキーです。 Kに対して使用できる値は、0~9、a~z、およびすべての仮想キーコードです。 仮想キーコードについて詳しくは、MSDNのVirtual-Key Codesを参照してください。
    • 次に例を示します。
      • F10に、K=0x79を設定
      • Ctrl + F10に、C=1, K=0x79を設定
      • Alt + Aに、A=1, K=aまたはA=1, K=AまたはK=A, A=1を設定
      • Ctrl + Alt + 5に、C=1, A=1, K=5またはA=1, K=5, C=1を設定
      • Ctrl + Shift + F5、A=1, S=1, K=0x74を設定

注意:レジストリエディターの使用を誤ると、深刻な問題が発生する可能性があり、Windowsの再インストールが必要になる場合もあります。 レジストリエディターの誤用による障害に対して、Citrixでは一切責任を負いません。 レジストリエディターは、お客様の責任と判断の範囲でご使用ください。 また、レジストリファイルのバックアップを作成してから、レジストリを編集してください。 

  • 複数および高解像度モニターのサポート。 Windows 7およびWindows 8のデスクトップでは、最大で4つのモニターが構成されたユーザーデバイスがサポートされます。 ユーザーはそれらのモニターを自由に配置でき、解像度や向きが異なるモニターを組み合わせて使用できます。 モニターの数は、ホストコンピューターのGPU、ユーザーデバイス、および使用できる帯域幅による制限を受けます。 HDX 3D Proでは、ホストコンピューター上のGPUでサポートされるすべてのモニター解像度がサポートされます。

    また、Windows XPデスクトップでは、デュアルモニター構成が限定的にサポートされます。 これについて詳しくは、「Windows XPまたはWindows Vista上のVDA」を参照してください。

  • 動的解像度 仮想デスクトップまたはアプリケーションのウィンドウのサイズを任意に変更できます。 :解像度は、VDAのセッションウィンドウのサイズを変更することでのみ変更できます。 VDAセッション内での解像度の変更([コントロールパネル]>[デスクトップのカスタマイズ]>[ディスプレイ]>[画面の解像度]で変更)はサポートされていません。
  • NVIDIA Keplerアーキテクチャのサポート。 GPUパススルーおよびGPU共有では、NVIDIA GRID K1およびK2のカードがサポートされます。 NVIDIA GRID vGPUを使用すると、複数の仮想マシンで単一の物理GPUに同時に直接アクセスできます。このとき、仮想化されていないオペレーティングシステムで動作するものと同じNVIDIAグラフィックドライバーが使用されます。
  • Virtual Direct Graphics Acceleration(vDGA)を使ったVMware vSphereおよびVMware ESXのサポート - RDSおよびVDIの両方のワークロードで、vDGAがサポートされます。 HDX 3D ProでVirtual Shared Graphics Acceleration(vSGA)を使用する場合は、単一モニターのみサポートされます。 vSGAを大きな3Dモデルで使用すると、APIインターセプト技術の使用によりパフォーマンス上の問題が生じることがあります。 詳しくは、「VMware vSphere 5.1 - Citrix Known Issues」を参照してください。
以下の図を参照してください。
  • ホストコンピューターは、Delivery Controllerと同じActive Directoryドメインに属している必要があります。
  • ユーザーがCitrix Receiverにログオンして仮想アプリケーションまたはデスクトップにアクセスすると、Controllerがユーザーを認証してVDA for HDX 3D Proと通信し、グラフィックアプリケーションをホストしているコンピューターへの接続を仲介します。

    VDA for HDX 3D Proはホスト上の適切なハードウェアを使って、デスクトップ全体またはグラフィックアプリケーションだけのビューを圧縮します。

  • デスクトップまたはアプリケーションのビューおよびそれに対するユーザーの応答は、Citrix ReceiverとVDA for HDX 3D Pro間の直接HDX接続を介して、ホストコンピューターとユーザーデバイス間で転送されます。


VDA for HDX 3D Proのインストール

VDA for Windows Desktop OSをインストーラーのグラフィカルインターフェイスでインストールする場合は、[HDX 3D Pro]ページで[はい]をクリックします。 コマンドラインでインストールする場合は、XenDesktop VdaSetup.exeコマンドに/enable_hdx_3d_proオプションを指定します。

HDX 3D Proをアップグレードするには、既存のHDX 3D for Professional GraphicsコンポーネントとVDAの両方をアンインストールしてからVDA for HDX 3D Proをインストールしてください。 同様に、標準のVDA for Windows Desktop OSをVDA for HDX 3D Proに切り替える場合も、標準のVDAをアンインストールしてからVDA for HDX 3D Proをインストールしてください。

NVIDIAドライバーのインストールとアップグレード

NVIDIA GRID APIでは、GPUのフレームバッファーに対する直接アクセスが提供され、スムーズでインタラクティブなユーザーエクスペリエンスのための最速のフレームレートが提供されます。 NVIDIAドライバーをインストールしてからVDA for HDX 3D Proをインストールすると、NVIDIA GRIDがデフォルトで有効になります。

仮想マシン上でNVIDIA GRIDを有効にするには、デバイスマネージャーでMicrosoft基本ディスプレイアダプターを無効にします。 Montereyenable.exe -enable -noresetコマンドを実行してからVDAを再起動します。

VDA for HDX 3D ProをインストールしてからNVIDIAドライバーをインストールすると、NVIDIA GRIDが無効になります。 この場合は、NVIDIA社から提供されるMontereryenableツールを使ってNVIDIA GRIDを有効にします。

NVIDIA GRIDを無効にするには、Montereyenable.exe -disable -noresetコマンドを実行してからVDAを再起動します。

HDX 3D Proのユーザーエクスペリエンスの最適化

マルチモニター環境でHDX 3D Proを使用するには、ユーザーデバイスに接続されているモニター数以上のモニターがホストコンピューター側に構成されている必要があります。 ホストコンピューター側で構成されているモニターは、物理モニターまたは仮想モニターのどちらでも構いません。

ユーザーがグラフィックアプリケーションの仮想デスクトップまたはアプリケーションに接続している間は、ホストコンピューターにモニター(物理または仮想のいずれも)を接続しないでください。 これを行うと、ユーザーのセッションが不安定になることがあります。

グラフィックアプリケーションセッションを実行しているときにデスクトップの解像度を変更しないようにユーザーに通知してください。 アプリケーションセッションを閉じた後、[Citrix Receiver - Desktop Viewer基本設定]ダイアログボックスでDesktop Viewerウィンドウの解像度を変更できます。

支店など、帯域幅が制限された接続を複数のユーザーで共有している場合、ポリシーの[セッション全体の最大帯域幅]設定を使用して、各ユーザーが使用できる帯域幅を制限することをお勧めします。 これにより、ユーザーがログオンしたりログオフしたりするときに、使用可能な帯域幅が大きく変動しなくなります。 HDX 3D Proでは使用可能なすべての帯域幅が使用されるため、ユーザーのセッション中に使用可能な帯域幅が大きく増減するとパフォーマンスが低下します。

たとえば、60Mbpsの接続を20人のユーザーで共有する場合、各ユーザーが使用できる帯域幅は、同時接続ユーザーの数に応じて3Mbps~60Mbpsの間で変動します。 この場合におけるユーザーエクスペリエンスを最適化するには、各ユーザーがピーク時に必要とする帯域幅を調べて、常時この値でユーザーを制限します。

ユーザーが3Dマウスを使用する場合は、汎用USBリダイレクト仮想チャネルの優先度を0にすることをお勧めします。 仮想チャネルの優先度を変更する方法については、CTX128190を参照してください。