PCoIP(Ultra)にはエンコード方式が4(5)種類あります。
参照元 Teradici Blog
CPU エンコード
- SSE2 VMware Horioznで使用されているエンコーダー。 最大30fps
- SSE4.2 Tera2 チップでも使用されているエンコード方式。 最大60fps
- AVX2 PCoIP Ultraで使用。コア数分だけシームレスにパフォーマンスが上昇 最大4K 30fps
GPU エンコード
- NVIDIA NVENC H.264 サポートされるGPUは基本的にTeslaおよび各種Quadroの2000番台以上
- NVENCはプロファイルによって YUV 4:4:4 YUV 4:2:0の2種類が設定可能
VMware Horizonで使用されているSSE2によるエンコードは、現行の製品でTera2チップを搭載したゼロクライアントしか対応していません。
VMware HorizonはBlastというH.264エンコードに対応したプロトコルがありますが、ロスレスで使用する場合はPCoIPを使用するように推奨しています。まあ、遅いんですけどね。
結局の所、ロスレスを使いたい場合は、わざわざHorizonを選択する必要は無く(値段的には魅力なんですけが)ハイパーバイザー+GRID+Teradici CASで構築が可能です。
ただし、サポート面を考えると、責任の所在が分かりにくいというのがあります。
- ハイパーバイザー vSphere、RHEL KVM、Linux KVM、Ubuntu、Nutanix、Citrix、Windows Server
- GPU NVIDIA GRID
- リモートアクセス Teradici CAS
こんな感じで問い合わせ先がバラバラになりますが、使う側から見たら知ったこっちゃありません。
そこは、出入りのSIerに任せてメリットだけを享受しましょう。
閑話休題
エンコードの比較と言っても、そんなに難しい事はしません。エンドユーザーにとって気になる点は
- 発色
- フレームレート
- 使用帯域の管理
だと思います。
フレームレートや、使用帯域の事に関しては、TeradiciのBlogで説明されているのでそちらに丸投げしたいと思います。最近のGoogle先生は専門用語も理解してくれるようになりましたが、個人的にはDeepLがお気に入りです。
そんなわけで、発色の比較です。
一応、比較のソースがRGBである必要があるので、今回はタスクバーのアイコンで比較してみました。
キャプチャー方法としては、リモートをウインドウ表示にして、クライアント側のPCでプリントスクリーンをするという方法です。
まずは、build-to-losslessは無効のままで比較してみました。
クリックすると拡大できます。BitmapがサイズがでかすぎでアップロードできないのでPNGとなっております。その時点でダメだろうというツッコミは置いといて、雰囲気を味わってください。
ちゃんと差は出ていますよ?
SSE4.2 Built to Losless OFF
AVX2 Built to Losless OFF
YUV 4:4:4 Built to Losless OFF
YUV 4:2:0 Built to Losless OFF
次はBuilt to losslessをONにし上程の画像です。
ちなみに、一番最後のYUV 4:4:4 Built to Losless ONは、LosslessをONにしても、YUV4:4:4では無駄ですというサンプルです。
SSE4.2 Built to Losless ON
AVX2 Built to Losless ON
YUV 4:4:4 Built to Losless ON