トナのブログ

VR, VRChat, Oculus Quest関連の情報を紹介します。質問はTwitterのDMからどうぞ。@tonavrc

Oculus QuestでPCVRをする - Oculus Link, Virtual Desktop, ALVR比較

f:id:tonact:20200111233806j:plain

(1/12 8:40)結論の遅延についての記述を修正しました。

(1/15 19:20)エンコード解像度の誤植を修正しました。

 

Oculus QuestでPCVRをプレイ可能なツールは主に4種類あります。

(有線)
Oculus Link: Oculus公式機能、現在はベータ版。USB3.0ケーブルが必要。

(無線、Oculus非公式、5GHz Wifi推奨)
Virtual Desktop: 有料1990円。安定性が高く多機能(フルRGB, コントローラー予測機能, VPN接続)。音声遅延が0.3秒ある。
ALVR: 無料・オープンソース。開発中断後も有志が更新を続けている。
Radeon ReLive for VR: 無料・AMD公式。AMD GPUのみ利用可能。

今回はOculusLink, Virtual Desktop, ALVRのパフォーマンスを、NVIDIAAMD両環境で、設定別に画質・遅延・消費電力の3項目を比較します。


テスト方法

画質

SteamVR版VRChatワールド「VR Vision Test Lab」で文字識別テスト

遅延

SteamVR版BeatSaberホーム画面のコントローラーの動きとガーディアン上の赤い円の動きをscrcpyで録画、Quest Homeでの挙動と比較し遅延を計算

遅延は以下の動画と同様にして、フレーム数を数えて出しているため若干の誤差が想定される。

消費電力

”BeatSaber” Expert を3回プレイ時のバッテリー消費量から給電分を差し引いて計算

 

設定・環境


CPU Ryzen Threadripper 1900X

M/B ASUS ROG ZENITH EXTREME

MEM DDR4-3600 64GB@2666MHz

GPU GeForce RTX2070, Radeon RX5500XT

OS Windows10 Build 18363.535

Quest OS 12.0.0.226.469.188362039
Oculus App 12.0.0.306.268

Virtual Desktop 1.8.0

ALVR 2.4.0 Experimental v8


Wifi

802.11n(5GHz),

チャンネル幅 20MHz/40MHz

ルーター IO-DATA WN-AX2033GR

距離 3m以内

SteamVR
VRChat: 内部解像度 2859x3162
Beat Saber: 内部解像度 1278x1414

 

ストリーミングツール

コーデックはすべてHEVC

Oculus Linkのビットレートは110Mbps固定(変更不可)

エンコード解像度は、
Oculus Link:2016x2016(デフォルト) / 2912x2016 / 4075x2016
Virtual Desktop: 3648x2016(変更不可)
ALVR: 5040x2800

その他の設定は次の通り。

f:id:tonact:20200115192225p:plain




 

結果


画質

縦軸は文字視認テストのレベル。

Oculus Linkは同じ結果だった。

f:id:tonact:20200111225831p:plain

f:id:tonact:20200111225826p:plain

 

ワールド作者の@wing_apさん提供の他HMDの結果は次の通り。

f:id:tonact:20200111231227j:plain

どのツール、どの設定でもRift S以上の画質が出ている。中設定以上ではすべてのツールでVive Pro 150%SS並みの画質となっている。



遅延

縦軸の単位はms。

Oculus Linkは同じ結果だった。

f:id:tonact:20200111230003p:plain

f:id:tonact:20200111230006p:plain

Oculus Linkが非常に低遅延であることがわかる。特にNVIDIAの低設定の遅延は0msと文句のつけようがない。

Virtual Desktopは49msとリズムゲーム以外であれば遅延が気になることはない。

ALVRは常に遅延が0.1秒ほどあるため非常に気になる。


消費電力

縦軸の単位は%

f:id:tonact:20200111230033p:plain

f:id:tonact:20200111230037p:plain

いずれも6分10秒ほどの電力消費量。どのツールも概ね5%前後の消費量を示した。

給電能力はケーブルによって異なるため長時間利用する際は注意したい。

(以下は6分10秒の給電能力)

Oculus Link 公式ケーブル: +6%

Anker 3mケーブル: +2%

モバイルバッテリー(Anker PowerCore 13400 Nintendo Switch Edition): +6%

Oculus Quest同梱ACアダプタ: +7%

 
結論


Oulus Linkは低遅延・高画質。

Virtual Desktopは中遅延・高画質。

ALVRは高遅延・高画質。

ビットレートよりエンコード解像度が遅延と画質に大きく影響する。

消費電力に大きな差はない。

Oculus Link
ケーブルによる遅延・画質の差はない。
給電能力は公式ケーブルの方が高い。


GeForceRadeon
GeForce(RTX2070)とRadeon(RX5500XT)の画質の差はないが、遅延は僅かにGeForceが優れる。

 

補足

PCVRストリーミングツールはグラフィックボード内のグラフィック処理ユニットとは独立したハードウェアエンコーダーを利用して配信している。
GeForceはNVENCというHWエンコーダーを搭載しており、新しい世代ほど高画質・高パフォーマンスとなる。
RadeonはNavi世代のRDNAアーキテクチャより、新たにRadeon Multimedia EngineというHWエンコーダーデコーダーを搭載し、以前のGCNアーキテクチャのVideo Coding Engineより高い性能を謳っている。RadeonについてはNavi世代以外は未検証なので注意してほしい。Video Coding Engineは3.0(Radeon 400シリーズ以降)からHEVCに対応している。


NVENCとRadeon Multimedia Engineの公式スペックは以下の通り。
NVENCは1080pでのパフォーマンス。

f:id:tonact:20200111233347p:plain

f:id:tonact:20200111233355p:plain



(出典)
NVIDIA Video Codec SDK Application Note - Encoder(2019/08版)
https://www.amd.com/system/files/documents/rdna-whitepaper.pdf
https://www.newegg.com/insider/what-is-navi-amds-new-rdna-architecture-explained/
https://www.techpowerup.com/256481/amd-navi-radeon-display-engine-and-multimedia-engine-detailed