[Meta Quest] Virtual Desktop
Edit (2023-04-28): 新機能「Snapdragon Game Super Resolution」についての説明を追加。
Edit (2022-05-09): PC側の「Automatically adjust bitrate」と、Quest側の「VR Bitrate」設定について、開発者からの説明を補足。
★★★ 吾輩のPCのスペック ★★★
まず始めに、私のPCのスペックを紹介しておきます。言わずと知れず、スペックが違い過ぎると、VDの設定も違くなる可能性が高いため。ここで表示されているスクショは私が現在つかってる設定です。スペックが似ている方は参考になるはず。- CPU: AMD Ryzen 3700x (OCなし)
- GPU: nVidia GTX 1660ti OC 6GB
- RAM: 16GB 3200MHz
- Router: ISPから供給された WiFi5 5GHz対応ルーター (Channel Bandwidthは80MHz)
PCはEthernetケーブルがぶっ刺さってます - プレーエリアの位置: ルーターと同部屋で3mくらい離れた場所
★★★ Streamerの設定(PC側) ★★★

- Preferred Codec: H.264だと遅延が最小限に抑えられますが、HEVCだ画質が向上します。使用のGPUがHEVCに対応している場合は、HEVCでも遅延にあまり差は出ないか全く差が出ないと思います。
- Allow remote connections: 例えばホテルから自宅のPCに接続してゲームをするとか、Shadow PCのようなリモートサーバーをレンタルしてゲームをするような場合はチェック。
- Encrypt local traffic: LAN内でゲームをする場合は、データを暗号化しないことで遅延を下げます。自宅でゲームを楽しむ場合はオフで。寮とかに住んでいて、共用WiFiを使っているとかいう場合はオンにしてもよいかも。
- Automatically adjust bitrate: ネットワークのスピードと遅延を考慮して、自動的にビットレートを設定してくれます。しかし実際のところアプリ側で設定するビットレートが尊重されているようです。開発者は、オンにすることを推奨しています。またオンにした場合は、Quest側の設定「STEAMING」→「VR Bitrate」を最大である150mbsにするとよいそうです。
★★★ アプリ側の設定 ★★★

よく間違われますが、アプリ側の左メニューにある「SETTINGS」は一般的に2Dのストリーミングの設定で、ゲームのストリーミングの設定は「STEAMING」画面で行います。
- VR Graphic Quality: 解像度の設定。使用しているGPUの性能によって選択が異なります。
- VR Frame Rate: 高いほうが画像が滑らかになりますが、遅延も増し、バッテリーの消費も激しくなります。
- VR Bitrate: 高いほうが圧縮による画像老化が防げますが、遅延も増えます。PC側の設定で「Allow remote connections」をオンにした場合は、最大である150mbsに設定。
- Sharpening: 画像のシャープネスを調節。
- Gamma: ガンマの調節によって画面を明るくする。
- Synchronous Spacewarp(SSW): スペースワープとは、FPSが定められた値に届かない場合、規定値の半分のFPSでレンダリングをして、足りない分のフレームをマジックの力により創造して規定値のFPSを確保する裏技。へぼいGPUにはありがたいですが、SSWが起動すると遅延も上がります。
- Snapdragon Game Super Resolution: AMDのSuper Resolutionと同類の機能で、低解像度でレンダーした画像を画像品質を保ちつつ、拡大する機能。ただし、拡大処理を行うのはQuest側で行うので、PCの処理速度に全く負担を掛けません。とあるゲームを例にすると、横ピクセルが1728から2688まで上がりました。
- Sliced encoding: フレーム一枚を一気にエンコードするのではなく、分割してエンコードする技術。元は遅延改善の為の技術ですが、個人的な経験では全く変わりないどころか、精密なタイミングが要するゲームには悪影響という感想。
- Video buffering: データ転送が一時的に低下しても画像がカクカクしないようにしてくれますが、遅延もかなり上がります。
- Increased color vibrance: 彩度調整。色をもうちょっとカラフルにする。
- Increase video normal range: カラースペース補正。黒い部分をもっと暗く、白い部分をもっと明るくします。
★★★ ゲーム毎ごとの設定 ★★★

VDにはプロファイルがないため、ゲーム毎ごとの設定が出来ません。またVDはオリジナルのruntimeを使用しているので、Oculus runtime使用時に使えるOculus Dubug ToolやOculus Tray Toolも使用不可。ゲーム毎の設定はSteamVRの機能を利用してSteamゲームのみ可能です。
- ダッシュボードから設定画面を起動する。
- 「動画」メニューを選択。
- 「アプリケーションごとの動画設定」へ行くと解像度等の設定が可能。解像度の設定には%の数値も表示されていますが、VDによって既に変更されている解像度の%に上乗せした%の値なのでわかりにくいです。なので、ピクセルの値に注目した方が良いです。
★★★ パフォーマンスオーバーレイ ★★★

- Framerate: フレームレート数。この値が設定の値よりも低いと、GPU/CPUが弱いという証拠。
- Latency: 総合的な遅延値。低ければ、低い方が良い。40ms以下を目指す。
- Game: ゲームのレンダリングによって生じている遅延。この数値が高すぎる場合は、ゲームのグラフィックの設定変更や、規定FPSを下げたり、解像度を下げるとよい。
- Encoding: 画像のエンコードから生じている遅延。この数値が高すぎる場合は、コーデックをH.264にしたり、解像度を下げるとよい。
- Networking: ネットワーク関連で生じている遅延。この数値が高すぎる場合は、WiFiルーターに接近してみたり、ルーターの設定を変えてみる。またPC側でVPNなどを使っていないか確認。
- Decoding: 画像のデコードから生じている遅延。この数値が高すぎる場合は、コーデックをH.264にしたり、ビットレートを下げてみると良い。
- WiFi情報: Quest側のWiFi情報。5GHzに接続されている事を確認。ルーターによっては2.4Ghzと5GHzが同じSSIDを共用している場合、2.4Ghzと5GHzをコロコロ勝手に変えてしまう場合があるので注意。計測されているスピードも設定されているビットレートよりも余裕をもって高い事。
★★★ 参考になるリンク ★★★
- vrdesktop.net オフィシャルサイト
- Discordの内の「start-here」 オフィシャルDiscord
- Reddit Wiki Redditに設けられたVirtual Desktop用のWiki