Citrix TechDay 2015ご参加いただきありがとうございました。
私が担当しましたXenDesktop / XenAppグラフィック ディープダイブのフォローアップです。

前半部分でお話させていただいたまとめは

  1. XenApp/XenDesktopはOSとクライアントの組合わせで転送モードが異なる(SuperCodec、DCR、互換コーデック)
  2. 不要なエアロやDirect3Dのハードウェアアクセラレーションは無効にするかエクスペリエンス重視ならHDIの導入の検討
  3. 従来のグラフィックモードはWindows 7/2008R2のサーバースケーラビリティ向上には最適だが2012/R2はこれから

1.デフォルトの転送モードについて

デスクトップコンポジションリダイレクト(DCR):デスクトップOSでWindows/Macクライアントの場合

デスクトップコンポジション(エアロ)をクライアントのGPUでレンダリングします。その他の画像はサーバーでレンダリングされJPEG圧縮で転送します。画質はポリシーで設定できます。クライアントやネットワークリソース使用に注意が必要です。クライアントのGPUが利用できない場合はSuperCodecになります。

SuperCodec:クライアントがiOS/Android/HTML5/Chromebook/H.264のデコードに対応しているシンクライアントの場合

サーバーでレンダリングされた画像をH.264で圧縮して転送します。動画に関して帯域が最適化されます。テキストを検知してロスレスで送信します。サーバーのCPUリソースとクライアントCPUもしくはH.264のデコードチップが必要です

互換モード:クライアントがH.264のデコードに対応していない古いシンクライアントなどの場合
クライアントがH.264をデコードできない場合は互換モードとなりJPEG圧縮で転送されます。

2.不要なエアロやDirect3Dの無効化の検討

エアロ(Windows 7)の無効化

デスクトップコンポジション(エアロ)はアプリ毎のグラフィックメモリを用意しDesktop Windows Manager(DWM)がそれぞれのアプリケーションのグラフィック領域を管理することによって、3Dフリッピングやアプリウィンドウのサムネイル表示などの視覚効果を高める機能が利用できます。ただし仮想環境ではサーバーリソースやクライアントリソースを消費するので注意が必要です。Windows 7においてエアロが不要であればOSのDWMのサービスを無効化してください。ただし、Windows 8や2012/R2ではDWMを無効化できません。

 Direct3Dの取り扱い

デスクトップOSの場合Citrix WDDMドライバがインストールされます。このドライバはDirect3Dが有効になり、仮想環境ではCPUを使ってレンダリング処理されます。最近のアプリはデフォルトでDirect3D処理されるようになっているものも多く、仮想環境ではパフォーマンスネックになることがあります。この場合はアプリの設定でグラフィックアクセラレーションを無効にすることを検討してください。VDAのレジストリでの無効化も可能です。またHPのMoonshotを使えば物理GPUによりDirect3D処理ができパフォーマンスが向上します。

3.従来のグラフィックモード

従来のグラフィックモードはXenDesktop 5.x/XenApp 6.x互換のグラフィックモードです。SuperCodec(H.264)での圧縮は特にモバイル通信環境での帯域削減やパフォーマンス向上が期待できますが、サーバークライアントリソースを消費します。このモードにすることでサーバースケーラビリティを向上させ、クライアントリソース消費を抑えることができます。Windows 7/2008R2で有効ですWindows 8では有効になりません。

Windows 2012/R2でも従来のグラフィックモードが有効ですが、現状最適化がされておらず、サーバスケーラビリティの点で有効ではありません。今後Thinwire+という技術で2012環境においても従来のグラフィックモードを最適化を行い、古いシンクライアントなどを有効活用できるようにする予定です。

Thinwire+は現在Tech Previewが利用可能です。

ちなみに当日展示コーナーでのFramehawkのデモはこちらです。→Framehawk demo