Windows Virtual Desktop #73 リモートデスクトップクライアント version 1.2.1844 (Public)

この記事のWVDは”Windows Virtual Desktop Spring 2020 Release”が対象です。

2021/3/23 に Windows Virtual Desktop の Windows 向けクライアントの最新版が公開されたので変更内容を確認していきます。 対象の User Group は Public、Version 1.2.1844 となります。  Windows Virtual Desktop 上での Teams に関する5つのアップデートがありますので Teams 利用者には重要な更新となりそうです。

変更内容

Microsoft Docs の内容のスクリーンショットになりますが、変更内容は以下です。

最初の3行は、前回の Insider で提供されていた内容が順当に Public となったということです。

  • Updated background installation functionality to perform silently for the client auto-update feature.
  • Added the option to allow multiple desktop sessions from the client.
  • Improved client logging, diagnostics, and error classification to help admins troubleshoot connection and feed issues.

以下部分は今回の Public で新たに追加された部分です。  Windows Virtual Desktop 上で利用する Teams について5点のアップデートあります。

  • Updates for Teams on Windows Virtual Desktop, including the following:
    • We’ve offloaded video processing (XVP) to reduce CPU utilization by 5-10% (depending on CPU generation). Combined with the hardware decode feature from February’s update, we’ve now reduced the total CPU utilization by 10-20% (depending on CPU generation).
    • We’ve added XVP and hardware decode, which allows older machines to display more incoming video streams smoothly in 2×2 mode.
    • We’ve also updated the WebRTC stack from version M74 to M88. M88 has better reliability, AV sync performance, and fewer transient issues.
    • We’ve replaced our software H264 encoder with OpenH264. OpenH264 is an open-source codec that increases video quality of the outgoing camera stream.
    • The client now has simultaneous shipping with 2×2 mode. 2×2 mode shows up to four incoming video streams simultaneously.

1つ目の内容は XVP によりCPU の使用率を 5-10%削減、ハードウェア decode も出来れば 10-20% の削減を実現するアップデートです。 

2つ目も XVP と ハードウェア decode により 2×2 mode 時の 入力のビデオストリームをスムーズにするとのこと。

3つ目は Teams 最適化 で利用する WebRTC のバージョンが M74 から M88 にアップデートされ、結果、信頼性や同期のパファーマンスの改善、その他の問題解決も含まれるとのこと。

4つ目は H264 の eoncoder を Open Source ベースの OpenH264 に変更し、結果、カメラ出力の画質が向上できたとのこと。

最後となる5つ目は 2×2 モード時に最大4つの入力方向のビデオストリームに対応できるとのこと。

上はざっくりと英語を日本語に翻訳してみたのですが、 2×2 mode が実は何なのかわかっていません。 無線の技術で MIMO というものがあるのは知っていて、この中で 2×2 とか 4×4 という言い方で複数の送信経路を束ねて高速化するわけですが、今回の Windows Virtual Desktop の Client の Update がこの MIMO における 2×2 のことを言っている可能性は低いとは思います。 多分、無線の MIMO は関係なく、グラフィック処理を行う ハードウェアないしソフトウェアの Decoder / Encoder との処理について 2並列の処理に対応したよ、ということなのだとは推測しています。 現時点では調査中です。

クライアントのアップデート

クライアントをアップデートします。

まずは変更前のバージョンを確認します。

バージョン 1.2.1838.0 と1つ前の Insider User Group です。  

利用可能な更新がある場合は右上の緑色のアイコンで教えてくれます。 

アプリケーションを更新します。 今すぐ再起動をクリックします。 ここでいう再起動は OS ではなくアプリケーションだけとなります。

自動的にアプリケーションが終了し、インストーラが実行され、1分ほどで完了します。

完了するとクライアントアプリケーションが自動的に起動します。

バージョン情報を確認します。 今回の話となっている 1.2.1844.0 に無事アップデートされました。

動作確認

Insider から提供されている機能に関するテスト内容はこちらの記事。 今回は、とりあえず Windows Virtual Desktop 上に Teams を確認します。 ただ、機能改善はパフォーマンスの改善が多いのですが、Before / After で比較しないといけないこと、比較するにも定量的に行うのが難しいというか面倒なので今回はそこまではやりません。 もし確認するとするなら、MPEG動画などを準備し、それを画面共有した際のCPU使用率の削減をアップデート前後の環境で比較することになります。 また、ハードウェアの Decode/Encode の話があったのでこちらは動作条件を確認した上、対応する物理デバイスを準備し比較することになります。

自分の Windows Virtual Desktop の Windows 10 デスクトップに接続します。 Teams 最適化は以下の通り有効な状況です。

今回の Teams に関する変更点は以下です。

  1. XVP と Hardware decode でCPU使用率を 5-20%削減
  2. XVP と Hardware decode で 2×2 mode 時の入力のビデオストリームをスムーズ化
  3. WebRTC のバージョンアップとそれによる品質向上
  4. H264 の encoder の変更とカメラ画質の向上
  5. 2×2 mode 時に4つの入力のビデオストリームに対応

とりあえず、1つ目と2つ目の確認ということで、物理デバイスの GPU の状態を確認しながら Teams を利用してみることにします。 ハードウェアはノートPCです。 この記事を書いている Chrome 、あとは Windows Virtual Desktop に接続している状況のタスクマネージャのパフォーマンスが以下のスクリーンショット。

Teams の動きを見る前に、物理端末の GPU がどう使われることになるのか確認してみることにします。

以下のスクリーンショットは物理端末のGPUです。 Intel UHD Graphics 620 なので大した性能はありません。項目上は 3D / Copy / Video Decode / Video Processing / 共有 GPU メモリ使用量があります。 今回の変更が関係するとしたらこの Video Decode に表れてくるかもしれません。 ただ、Windows Virtaul Desktop に接続しているだけであれば 0% ということはわかりました。

以下は物理端末で Chrome から Youtube で Alibaba Cloud の動画を見ている場合です。GPU の Video Decode が数% 消費しています。  このような感じで Windows Virtual Desktop 上で Teams を利用した際に Video Decode が利用されるのか確認することにします。

まずは Windows Virtual Desktop 上の Teams 会議を開きます。

この状態では Video Encode は 0 %です。

上のスクリーンショットは見づらいと思いますので、以下が見えやすい画面。

Windows Virtual Desktop 上で Youtube の動画を開き、その画面をTeams で画面共有しました。 このとき、Video Decode が働くと想定したのですが、0% のままです。 

この後、以下の状況時に Vide Decode が 0% から変化するか確認したのですが、常に 0% のままでした。

  • カメラをオン
  • 音声とスピーカの入力
  • 音声とスピーカの出力

今回の変更内容については以下の情報しかなく、そもそもオフロード先が物理端末となるのか、物理端末だとしても条件(どういうGPUを積んでいればよいのか、など)の記載もありません。 今日は時間が無くなったので続きは別にすることにします。

  • We’ve offloaded video processing (XVP) to reduce CPU utilization by 5-10% (depending on CPU generation). Combined with the hardware decode feature from February’s update, we’ve now reduced the total CPU utilization by 10-20% (depending on CPU generation).
  • We’ve added XVP and hardware decode, which allows older machines to display more incoming video streams smoothly in 2×2 mode.

以上