このブログはCitrix 開発部門Muhammad Dawoodの執筆したのHDX Graphics Goodies in 7.18!日本語翻訳を元に加筆修正したものになります。

H.264ロスレス構築

「ロスレス構築」という表示品質のポリシー設定は、私がICA/HDXに携わるようになってからずっと使用されてきました。それは本当に長い期間になります。このポリシーを有効にすることで、Thinwire(弊社のグラフィックスリモート処理テクノロジー)は、医療用画像の操作など、最終的にピクセルが完全な画像を必要とする、3Dタイプのワークロードに最適化されたモードになります。

ロスレス構築の背景にある考え方はシンプルです。ユーザー入力の際には最適なインタラクティブ機能を提供し、アクティビティが終了したときにはロスレス品質まで鮮明に表示するというものです。インタラクティブフェーズでは、最大限のフレームレートを維持するために、利用可能なリソースに応じて画質を下げます。さらに、「割り込み可能な」方法で(部分ごとに)表示を鮮明化することで、ユーザーが途中で表示を取り消した場合のセッションのインタラクティブ性を維持します。

新機能

これまで使用してきた可変品質のJPEGは、ほとんどのシナリオでは適切に処理されますが、帯域幅が限られていたり、遅延が高い場合は品質がかなり低下します。7.18では、ロスレス構築の新しい機能拡張として、H.264がサポートされるようになりました。お客様がWindowsまたはLinux Receiverを使用している場合、インタラクティブフェーズではJPEGの代わりにH.264が使用され、ロスレス構築にはこれまでと同じ「割り込み可能な」鮮明化方式が使用されます。さらに、H.264品質が採用される方法も変更され、最終的な結果のインタラクティブ性が、特にWANのシナリオ(1~20 Mbps、40~250 ms)において大幅に向上しました。ぜひご自身でご確認ください。

この機能拡張を活用するために、新しいポリシーやReceiverのアップグレードは必要ありません。「Use Video Codec」(ビデオコーデックの使用)ポリシーを、「Use when preferred」(必要に応じて使用する)(デフォルト)または「For actively changing regions」(アクティブに変化する領域用)に設定するだけです。ロスレス構築にJPEGを使用する設定に戻す場合は、このポリシーを「Do not use」(使用しない)に設定します。

プログレッシブ表示

帯域幅が狭い接続や遅延が高い接続では、画面の応答時間が大きな影響を受ける場合があります。以前は、Webページをスクロールしても、画面の表示が切り替わらず、画像が読み込まれ、テキストが表示されるまで待機するという状況でした。HDX(実際にはあらゆるリモート処理プロトコル)では、ユーザー入力(マウスホイールでのスクロールなど)に応じて画面がすばやく更新されないことに対するフラストレーションが大きくなっています。

7.17までは、セッションの画質を「Low」(低)に構成するか、色深度を低く設定する(16または8ビットグラフィックス)ことによって、インタラクティブ性を向上させることが可能です。これはいずれも帯域幅の消費量を下げ、ポリシーで設定することができます。この方法の問題は、管理者がユーザーの接続の品質が低いことをあらかじめ把握している必要があることです。現在、Thinwireでネットワークの状態に基づいて動的に品質を調整する方法はありません。

新機能

プログレッシブ表示では、品質の低いネットワークの状況を検知し、ユーザーアクティビティの実行中の画像とテキストの表示品質を下げて対応することで、このフラストレーションをいくらか緩和しようとしています。操作が完了すると、画像とテキストは徐々にロスレス品質で表示されます。これにより、長期的には帯域幅の使用量が若干増加しますが、インタラクティブ性(応答時間)が問題である場合は大幅に改善されます。

プログレッシブ表示はデフォルトでは「スタンバイモード」になっており、H.264ロスレス構築と同様に、利用するためにReceiverのアップグレードや新しいポリシー設定は必要ありません。

また本機能の制御を行う場合はVDA側のレジストリで設定します。

[REG_DWORD] HKLM\Software\Citrix\Graphics\ProgressiveDisplay

  • 0: 無効
  • 1: 自動 (閾値に従います)
  • 2: 常に有効

閾値の設定は以下のレジストリの値にあります。この起動が発動する帯域の下限値と遅延の上限値になります。

[REG_DWORD] HKLM\Software\Citrix\Graphics\ProgressiveDisplayBandwidthThreshold
Value: <threshold in Kbps> (default = 2048)

[REG_DWORD] HKLM\Software\Citrix\Graphics\ProgressiveDisplayLatencyThreshold
Value: <threshold in ms> (default = 200)

この2つの優れた拡張機能の詳細は、7.18 XenAppおよびXenDesktopのドキュメントおよびCTX235349参照してください。いつもと同じように、ぜひ皆様のご意見をお寄せください。