Citrix Virtual Apps and Desktops

Thinwire

はじめに

ThinwireはCitrix HDXテクノロジの一部で、Citrix Virtual Apps and Desktopsで使用される、Citrixのデフォルトのディスプレイリモートテクノロジです。

ディスプレイリモートテクノロジを使用すると、あるマシンで生成されたグラフィックが、通常はネットワークを経由して、別のマシンに転送され、表示されます。

正常なディスプレイリモートソリューションでは、ローカルPCと同様の、高度にインタラクティブなユーザーエクスペリエンスが提供されます。Thinwireでは、幅広く複合的、効果的な画像解析および圧縮技術の使用により、これを実現しています。Thinwireではサーバーのスケーラビリティが最大化され、消費する帯域幅は他のディスプレイリモートテクノロジより少なくできます。

このようなバランスの良さから、Thinwireは大部分の一般的なビジネスユースケースに合致しており、Citrix Virtual Apps and Desktopsのデフォルトのディスプレイリモートテクノロジとして使用されています。

HDX 3D Pro

デフォルト設定では、Thinwireは3Dまたは高度にインタラクティブなグラフィックを提供し、グラフィック処理装置(GPU)を使用できます(存在する場合)。ただし、GPUを使用するシナリオでは、Citrixポリシーの [3Dグラフィックの負荷の最適化] または [表示品質]>[操作時は低品質] ポリシーを使用して、HDX 3D Proモードを有効にすることをお勧めします。これらのポリシーは、GPUが存在する場合、ハードウェアアクセラレーションを使用して、Thinwireがビデオコーデック(H.264、H.265、またはAV1)で画面全体をエンコードできるよう構成します。これにより、3D Proグラフィックは、より滑らかなエクスペリエンスを実現できます。詳しくは、「H.264の[操作時は低品質]」、「HDX 3D Pro」および「WindowsシングルセッションOSのためのGPUアクセラレーション」を参照してください。

要件

Thinwireは、Windows Server 2022、Windows Server 2019、Windows 10、およびWindows 7など、最新のオペレーティングシステムに最適化されています。Windows Server 2008 R2には、従来のグラフィックモードをお勧めします。ビルトインのCitrixポリシーテンプレートである「高サーバースケーラビリティ - レガシOS」と「WANの最適化 - レガシOS」を使用して、これらのユースケースに推奨されるポリシー設定の組み合わせを提供します。

  • Thinwireの動作を制御する [圧縮にビデオコーデックを使用する]ポリシー設定は、Citrix Virtual Apps and Desktops 7 1808以降とXenAppおよびXenDesktop 7.6 FP3以降のVDAバージョンで利用できます。Citrix Virtual Apps and Desktops 7 1808以降とXenAppおよびXenDesktop 7.9以降のVDAバージョンでは、[選択された場合ビデオコーデックを使用する] オプションがデフォルト設定になっています。
  • ThinwireはすべてのCitrix Workspaceアプリでサポートされています。ただし、8ビットまたは16ビットグラフィックで帯域幅の使用量が少なくなるなど、Thinwireの機能はCitrix Workspaceアプリによってサポートの有無が異なることがあります。こうした機能のサポートは、Citrix Workspaceアプリによって自動的にネゴシエートされます。
  • Thinwireは、マルチモニターおよび高解像度のシナリオで、より多くのサーバーリソース(CPU、メモリ)を使用します。Thinwireが使用するリソース量は調整可能ですが、帯域幅の使用状況がその結果増大することがあります。
  • 低帯域幅または高遅延のシナリオでは、8または16ビットグラフィックを有効にして対話操作性を改善することを検討できます。表示品質は、特に8ビットの色数で影響を受けることがあります。

エンコーディング方法

Thinwireは、ポリシーとクライアントの機能に応じて、2つの異なるエンコーディングモードで動作できます:

  • アダプティブJPEGを使用したThinwire 圧縮にビデオコーデックを使用するポリシー設定:ビデオコーデックを使用しない

  • 選択的なH.264、H.265、またはAV1を使用したThinwire 圧縮にビデオコーデックを使用するポリシー設定:選択された場合ビデオ コーデックを使用するまたは 領域をアクティブに変更
  • 全画面H.264、H.265、またはAV1を使用したThinwire 圧縮にビデオコーデックを使用するポリシー設定:画面全体に使用

H.265

H.265としても知られるHigh Efficiency Video Coding(HEVC)は、H.264の後継版です。 H.265ビデオコーデックによるハードウェアエンコーディングは、次のGPUでサポートされています:

  • NVIDIA Maxwellベース以降のGPU
  • Intel第6世代以降のGPU
  • AMD Ravenベース以降のGPU

AV1

Citrixは、AV1ビデオコーデックのサポートを追加しました。AV1のメリットは、H.264やH.265と比較して、画像圧縮に優れ、画質が良く、帯域幅の使用量が少ないことです。

AV1では、次の要件を満たす必要があります:

  • NVIDIA GPUでVDA 2305以降、または
  • Intel GPUでVDA 2308以降

次のGPUはエンコーディングで互換性があります:

  • NVIDIA Ada LovelaceベースのGPU
  • Intel ARCまたはIntel Data Center GPU FlexシリーズのGPU

NVIDIAのAda Lovelace GPUについて詳しくは、ADAアーキテクチャを参照してください。

IntelのARCワークステーションおよびデータセンターFlexシリーズのGPUについて詳しくは、Flexシリーズおよび概要を参照してください。

ビデオコーデックの自動選択

VDAで圧縮にビデオ コーデックを使用するポリシーが有効になっているか、または3D画像ワークロードの最適化が有効になっている場合、使用する最適なビデオコーデックを自動的に検出できます。Windows向けCitrix Workspaceアプリのインストール中に、エンドポイントのデコード機能が評価されます。この情報に基づいて、Windows向けCitrix Workspaceアプリは、セッションの開始時にVDAで使用する最適なコーデックをネゴシエートします。以下は、ビデオコーデックが評価される順序です:

  • AV1
  • H.265
  • H.264

自動選択は、これらのコーデックの4:2:0バリアントにのみ適用されます。表示品質設定が[操作時は低品質]または[常に無損失]に設定されており、視覚的無損失の圧縮が[有効]に設定されている場合、ビデオコーデックの自動選択は無効になります。

リソースに接続するときに、Citrix WorkspaceアプリはエンドポイントのH.265およびAV1をデコードする機能をテストし、その機能をレジストリに保存します。Citrix Workspaceアプリは使用する最適なビデオコーデックを自動的に選択し、このコーデックをVDAとネゴシエートします。VDAとクライアントの両方がH.265とAV1を使用できる場合、AV1がビデオコーデックとして選択されます。AV1がVDAまたはクライアントのいずれでも利用できない場合は、H.265がネゴシエートされます。どちらでもH.265が利用できない場合、セッションはビデオコーデックとしてH.264を使用します。

注:

この機能はデフォルトで有効になっています。この動作は、新しいクライアント側レジストリ設定DisableDecoderCapsを設定することで変更できます。

ビデオコーデックの自動選択を無効にするには、「DisableDecoderCaps」を HKLM\Software\WOW6432Node\Policies\Citrix\ICA Client\Graphics Engine DWORD DisableDecoderCaps = 1またはHKCU\Software\Policies\Citrix\ICA Client\Graphics Engine DWORD DisableDecoderCaps = 1に設定します。

これらの値のいずれかが1に設定されている場合、ビデオコーデックの自動選択は使用されません。 グラフィック状態インジケーターとHDXモニターは、ビデオコーデックを監視できます。

構成

Thinwireはデフォルトのディスプレイリモートテクノロジです。

次のグラフィックポリシー設定はデフォルトを設定し、さまざまなユースケースに代替選択肢を提供します:

  • 圧縮にビデオコーデックを使用する
    • 選択された場合ビデオコーデックを使用するこれがデフォルトの設定です。追加の構成は必要ありません。この設定をデフォルトとして保持することにより、すべてのCitrix接続でThinwireが選択され、デスクトップの一般的なワークロードで、スケーラビリティ、帯域幅、および優れた画質の点で、確実に最適化されます。これは、機能的に [領域をアクティブに変更] と同等です。
  • このポリシー設定の他のオプションは、さまざまなユースケースで他のテクノロジと組み合わせてThinwireを使用し続けます。例:
    • [領域をアクティブに変更]。Thinwireの状況に応じたディスプレイテクノロジは、動画(ビデオ、3Dインモーション)を識別し、画像が動く画面の部分でのみH.264、H.265、またはAV1を使用します。
    • [画面全体に使用]。特に3Dグラフィックを多用する事例で、Thinwireを全画面H.264、H.265、またはAV1を使用して配信し、ユーザーエクスペリエンスと帯域幅を最適化します。H.264 4:2:0([視覚的無損失] ポリシーが無効)の場合、最終イメージは完全に無損失ではなく、特定のシナリオには適さないことがあります。このような場合は、代わりにH.264の [操作時は低品質]またはH.265の[操作時は低品質]を使用することを検討してください。

ビデオコーデック

次の視覚表示ポリシー設定など、いくつかの他のポリシー設定は、ディスプレイリモートテクノロジのパフォーマンスを微調整するために使用できます。Thinwireはこれらすべてをサポートします。

さまざまなビジネスユースケースに対してCitrixで推奨されるポリシー設定の組み合わせを取得するには、組み込みのCitrixポリシーテンプレートを使用します。「高サーバースケーラビリティ」および「最高品位ユーザーエクスペリエンス」テンプレートは、組織の優先順位やユーザーの予期に最も適したポリシー設定との組み合わせでThinwireを使用します。

Thinwireのモニター

Citrix DirectorからThinwireの利用状況とパフォーマンスをモニターすることができます。HDX仮想チャネル詳細ビューには、あらゆるセッションで、Thinwireのトラブルシューティングやモニターに役立つ情報が表示されます。Thinwire関連の測定基準を表示するには:

  1. Directorで、ユーザー、マシン、またはエンドポイントを検索し、アクティブなセッションを開いて [詳細] をクリックします。または、[フィルター]>[セッション]>[すべてのセッション]を選択し、アクティブなセッションを開いて[詳細]をクリックすることもできます。

  2. [HDX] パネルまで下にスクロールします。

    HDXの監視

  3. [グラフィック - Thinwire] を選択します。

    Thinwire

無損失圧縮コーデック(MDRLE)

通常のデスクトップセッションでは、画面の大半が単純なグラフィックまたはテキスト領域です。Thinwireはこれらの領域の範囲を決定し、2DRLEコーデックを使用して無損失エンコーディングの領域を選択します。Citrix Workspaceアプリのクライアント側では、これらの要素は、セッション表示時にCitrix Workspaceアプリ側の2DRLEデコーダーを使用してデコードされます。

XenAppおよびXenDesktop 7.17では、より高い圧縮率のMDRLEコーデックが追加されており、通常のデスクトップセッションでは2DRLEコーデックよりも少ない帯域幅しか消費しません。この新しいコーデックは、サーバーの拡張性には影響を与えることはありません。

消費帯域幅が抑えられるため、通常、(特に共有リンクまたは制約付きリンクで)セッションのインタラクティブ性が向上するとともに、コストを削減できます。

MDRLEコーデックには構成は不要です。Citrix WorkspaceアプリでMDRLEデコードがサポートされている場合、VDAでは、VDAのMDRLEエンコードとCitrix WorkspaceアプリのMDRLEデコードが使用されます。Citrix WorkspaceアプリでMDRLEデコードがサポートされていない場合、VDAでは、自動的に2DRLEエンコードにフォールバックされます。

MDRLEの要件:

  • Citrix Virtual Apps and Desktops:VDAバージョン7 1808以降
  • XenAppおよびXenDesktop:VDAバージョン7.17以降
  • Windows向けCitrix Workspaceアプリ:バージョン1808以降
  • Citrix Receiver for Windowsバージョン4.11以降

プログレッシブモード

Citrix Virtual Apps and Desktops 1808では、プログレッシブモードが導入され、デフォルトで有効になっています。制約のあるネットワーク環境(デフォルト:帯域幅<2Mbps、または遅延>200ミリ秒)では、Thinwireが圧縮するテキストや静止画の量が増えて、画面アクティビティの対話操作性が改善されます。画面アクティビティが停止すると、大幅に圧縮されたテキストや画像は、その後徐々に、ランダムなブロック単位でシャープになります。このような方法で圧縮およびシャープ化して総合的な対話操作性を改善しながら、キャッシュ使用を低減し帯域幅の使用を増やしていきます。

Citrix Virtual Apps and Desktops 1906の場合、プログレッシブモードはデフォルトで無効になっています。現在は、別のアプローチを使用しています。静止画の画質は、現在、ネットワーク状況に基づいて [表示品質] 設定ごとに事前定義された最小値および最大値の間で変化します。明示的なシャープ化の手順が存在しないため、Thinwireは、プログレッシブモードの利点をほぼすべて提供しながら画像配信を最適化し、キャッシュ効率を維持します。

プログレッシブモードの動作を変更する

プログレッシブモードの状態は、レジストリキーを使用して変更できます。詳しくは、レジストリを介して管理される機能の一覧にある「プログレッシブモード」を参照してください。

操作時は低品質

[操作時は低品質] は、対話操作性のために画像配信や最終イメージの品質を最適化するThinwireの特別な構成です。[表示品質] ポリシーを [操作時は低品質] に設定することで有効にできます。

[操作時は低品質]の設定は画面のアクティビティ中にH.264、H.265、またはAV1を使用して画面を圧縮し、アクティビティが停止すると完全な無損失へシャープ化します。可能な限り最高のフレーム数を維持するために、使用可能なリソースの非可逆圧縮画質に適応します。シャープ化の手順は徐々に実行されます。たとえば、モデルを選択してから、それを回転させる場合などです。

[操作時は低品質] では、ハードウェアアクセラレーションなど、画面全体用のビデオコーデックのすべての利点を利用できますが、最終的な、無損失画面は保証されていません。これは、完全に無損失な最終イメージが必要な3Dタイプのワークロードにとって重要なポイントです。たとえば、医療画像を操作する場合です。また、H.264の [操作時は低品質] は全画面H.264 4:4:4よりも少ないリソースを使用します。その結果、[操作時は低品質] を使用すると通常、視覚的無損失H.264 4:4:4よりもフレーム数が多くなります。

注:

[操作時は低品質]を使用する場合、ビデオコーデックの使用を無効にすることができます。[ビデオ コーデックを使用する] ポリシーをDo not use video codecに設定するだけです。これによって動画は代わりにアダプティブJPEGでエンコードされます。

視覚的無損失エンコーディング

視覚的無損失エンコーディングは、ビデオコーデック圧縮にクロマサブサンプリングされたYUV 4:2:0色空間ではなく、YUV 4:4:4色空間を使用します。これにより、色空間の変換中に色情報が失われることはなく、デコードされると元のRGB画像からは視覚的に認識できなくなります。

次の例について考えてみましょう。ビデオコーデックを使用して画面全体を圧縮する場合、4:2:0色圧縮により、テキストなどのハイコントラストの細部が劣化し、ぼやけて読みにくくなる可能性があります。対照的に、4:4:4ではほぼすべての色情報が保持され、視覚的に認識できる劣化は見られません。

無損失画像

完全に無損失な画質や正確な色表示が必要とされるワークロードでは、視覚的無損失エンコーディングのメリットを生かすことができます。

視覚的無損失エンコーディングは、H.264とH.265の両方で使用できます。H.264 4:4:4エンコーディングは純粋にソフトウェアベースのソリューションであるため、VDAとクライアントの両方のCPU使用率に重大な影響を与える可能性があります。これはフレームレートにも影響する可能性があります。

Citrix Workspaceアプリ2305リリースでH.265 4:4:4のサポートが追加され、ThinwireでVDA上のGPUとクライアントの両方でH.265 4:4:4エンコーディングを使用できるため、パフォーマンスが大幅に向上します。

視覚的無損失4:4:4エンコーディングを可能にするには、次の2つのポリシーを有効にする必要があります:

  • 表示品質Build to LosslessまたはAlways Losslessに設定
  • 視覚的無損失を許可するEnabledに設定

注:

視覚的無損失を許可するが有効になっていない場合、Build to losslessまたはAlways LosslessでThinwireエンコーダーに切り替えます。

H.265 4:4:4の視覚的無損失には追加の要件があります:

  • NVIDIA GPUにはVDAバージョン2209以降が必要です
  • Intel GPUにはVDAバージョン2308以降が必要です

H.265 4:4:4では次のGPUがサポートされています:

  • NVIDIA Pascal世代以降のGPU
  • Intel第10世代以降のGPU

クライアントの場合、Windows向けCitrix Workspaceアプリバージョン2305が必要です(バージョン2309.1が推奨されます)。

H.265 4:4:4のハードウェアデコーディングは、次のクライアントデバイスGPUで可能になります:

  • NVIDIA Turing世代以降のGPU
  • Intel第10世代以降のGPU
Thinwire