OculusQuest2の処理性能向上がどう嬉しいのか調べてみた
OculusQuest2には、発表されて間もない最新チップSnapdragon XR2が搭載されています。このチップによりOculus Quest2は初代と比べてどれぐらい性能が向上したのか、向上によってどんな恩恵が受けられるのかをまとめてみました。現時点では実機を調べた情報はありませんが、レビューとは違った観点で進化を感じられるのではないかと思います。
詳細部分に興味がない方は結論の「恩恵の考察」の部分だけ見てください。
はじめに
Oculus QuestとOculus Quest2と比べた時の一番の違いは表示パネルの違いです。有機ELが液晶になり、黒の表現が劣る代わりに解像度が向上しています。また、リフレッシュレートも72Hzから90Hzに向上します。パネルの変更は見た目にもわかりやすく想像も比較的容易 です。
一方、Oculus Quest2にはQualcomm社の最新チップSnapdragon XR2が搭載されており、この点も話題になっています。これは凄いことですが、チップの変更の何が具体的に嬉しいのか?についてはあまり語られていません。
そこで、単に表示パネルの性能向上に追いつくためだけにチップの性能を変えているだけなのか、それ以上にチップの性能が高いので、他にも嬉しいことがあるのか、それはどんなことなのか、について調査・考察してみたいと思います。
実機を入手したら適宜追記していく予定です。間違いや疑問がありましたらお気軽にコメントください。
まずはSnapdragonのおさらいからです。
Snapdragonとは
Snapdragonはスマートフォンで高いシェアを誇るQualcom社が開発しているSoC(System On (a) Chip)です。
スマートフォンを製造する会社はQualcomm社からこのチップを部品として購入して組み込み、販売しています。これはOculus Questも同じです。
SoCとは
SoCとは、CPUやGPU、さらにサウンド機能やカメラ用の画像変換機能など、今までばらばらのチップ部品として提供されていたコンピュータに必要な機能を一つのチップダイに統合したもの を指します。これにより、基盤のサイズを小さくしたり、消費電力を下げたり、製造コストを下げたりすることができます。
スマートフォンやタブレットに搭載されているチップはほぼすべてSoCになっており、他に以下のような製品が有名です。レビュー記事やカタログ等で見かけたことがあるのではないでしょうか。
- Apple社のAシリーズ
- Samsung社のExynos
- HiSilicon社(Huawei)のKirin
- MediaTek社のMTシリーズ
PCで使われているIntel社のAtom(最近はCeleronブランド)もSoCですし、最近のXboxやPlayStation、Switchといったゲーム機でも、独立したCPU・GPUを採用するのではなくSoCを採用しています。
SoCは性能だけでなくそのマシンを性格づける部品 といっても過言ではないでしょう。
Snapdragonの特徴
Snapdragonは各社のSoCと比較して高い性能を誇ります。
CPU・GPUは自社開発
普通SoCを作る際には、他の会社からチップの回路情報(IP)を買ってきて、それをそのままチップの上にお弁当を詰めるように配置する、のが主流なのですが、実力のある限られた会社はIPを改良したり内製したりします。
QualcommもCPUの部分にはかなり大きな改良を入れていますし、GPU部分に至っては自社製(IPのベースはATI社、AMDのGPU部門の前身のもの)になっています。他にも Qualcomm自身が多くの部分を内製 しています。Qualcommが開発したCPU部分はKryo、GPU部分はAdrenoと呼ばれています。
Hexagon DSPもすごい
他にも最新の規格に対応した高性能なモデム機能(4G/5G通信を行う)を統合しているのもSnapdragonの強みです。4G/5G機能を持たないOculus Questには一見関係ないように思えますが、優れたモデムを搭載しているということは、その分信号処理の能力が優れていることを意味します。
OculusQuestでは空間やコントローラの認識にAI技術を用いており、その処理の一部にはこのモデムに搭載された信号処理(DSP)機能を活用しています。つまり、電波を送受信するための信号に関わる計算と、VRにおける位置検出のための計算は同じ回路でできてしまうということです。
この信号処理を行うための高性能DSPコアはHexagonと呼ばれています。Hexagonにはカメラや6軸センサの回路にも直結しており、CPUが介在することなく直接空間検出に必要な処理を行い、計算結果だけCPUに返すことができます。
また、動画のデコード・エンコードもこのHexagonの上で処理されます。
Qualcommが発表したスペック・性能
Snapdragon XR2発表時の報道向け資料には以下の記述があります。
Snapdragon XR2 Platform, the reference design has 2x the CPU and GPU performance, 4x more video bandwidth, 6x higher resolution and 11x AI improvement compared to our current widely adopted XR platform (Compared to Qualcomm® Snapdragon™ 835 Mobile XR Platform)
- CPU 2倍
- GPU 2倍
- 動画処理性能 4倍
- (対応ディスプレイ解像度)6倍
- AI処理性能 11倍
文面通りに受け取れば、これがそのままOculus Quest初代とOculus Quest2の性能差になるわけですが、誇張が入っていそうにも思えます。ですので、まずはスペックとベンチマークの両面から性能を検証してみたいと思います。
なお、それぞれのSoCのスペックは以下のようになっています。
SoC名 | Snapdragon 835 | Snapdragon XR2 (Snapdragon 865相当) |
---|---|---|
採用機種 | Oculus Quest(初代) | Oculus Quest2 |
採用機種発売日 | 2019年5月21日 | 2020年10月13日 |
チップ発表日 | 2017年1月3日 発売の870日前 |
2019年12月5日 発売の312日前 |
CPU | Kryo 280 | Kryo 585 |
Prime コア (シングルスレッド性能重視) |
– | 1x Cortex-A77 @2.84GHz |
Performance コア (マルチコア性能重視) |
4x Cortex-A73 @2.45GHz | 3x Cortex-A77 @2.42GHz |
Efficiency コア (電力効率重視) |
4x Cortex-A53 @1.90GHz | 4x Cortex-A55 @1.80GHz |
L3キャッシュ | – | 4 MB |
GPUコア | Adreno 540 | Adreno 650 |
クロック | 710 MHz (最高) 670 MHz (標準) |
650 MHz (最高) 587 MHz (標準) |
ALU(FP32) 数 | 384 | 512 |
演算性能(FP32) | 567 GFLOPS @710MHz | 1250 GFLOPS @650MHz |
メモリコントローラ | LPDDR4X @ 1866MHz: 29.8GB/s | LPDDR4X @ 2133MHz: 33.4GB/s LPDDR5 @ 2750MHz: 44.0GB/s |
DSPコア | Hexagon 682 | Hexagon 698 |
動画デコード性能 | 720p @ 240fps 1080p @ 120fps 2160p @ 60fps |
720p @ 960fps 2160p @ 120fps 4320p @ 30fps |
動画エンコード性能 | 720p @ 240fps 1080p @ 120fps 2160p @ 30fps |
720p @ 960fps 2160p @ 120fps 4320p @ 30fps |
Tensor Accelerator | – | 〇 |
Tensor OPS | 1.0 ~ 1.3 TOPS? | 15 TOPS |
対応通信規格 | 802.11ac / WiFi5 80MHz 2×2 MIMO 最大 866Mbps |
802.11ax / WiFi6 160MHz 2×2 MIMO 最大 1774Mbps |
ストレージインタフェース | UFS2.1 Gear3 2x Lane 最大 1200 MB/s |
UFS3.1 2x Lane 最大 2900 MB/s |
これだけだとやはりどこかどう変わったのかはぱっとはよくわからないので、個別に掘り下げていきます。
性能向上の検証(興味ない人はスキップ)
CPU処理性能
Qualcommが言うには CPUの性能は2倍に向上 しているとのことなので、これをまず見ていきます。
スペックの確認
まず、Oculus Questの動作中に最もよく使われる「Performanceコア」に着目します。(※特別なことをしない限り、PerformanceコアとEfficiencyコアは同時には動作しません。)
クロックには向上は見られませんが、Kyroの ベースになっているARMコアは世代が A73→A75→A76→A77 と3世代分進化しています。ARMコアはクロック当たりの処理性能を1世代ごとに20%~30%向上させることを目安に設計されていますので、それとPrimeコアのクロック向上を合わせると スペック上2倍に無理はなさそう です。
ベンチマークの確認
次に実際のベンチマーク性能を見ていきます。今回参考にしたのはGeekBench、およびその結果をまとめたNanoreviewです。
NanoreviewでGeekGenchの結果を比較すると次のようなデータが得られます。
マルチコアの性能が2.04倍、シングルコアの性能が2.42倍です。Qualcommが言う2倍はマルチコア性能のことと思われますが、シングルコア性能はそれ以上です。これはCortex-A77世代でシングルスレッド性能にテコ入れがされ、Primeコアがあるおかげです。
一方、HTC Vive FocusのXR2版のベンチマーク情報がリークしており、それ以上の性能向上があると話題になっていますが、こちらは比較条件が同じでないため、あまり参考にしない方が良いと思われます。(実機の情報が得られ次第追記します。)
結論として、Qualcommのいう 2倍の性能向上はCPUにおいては嘘ではない、状況によってはそれ以上の性能を発揮する 場合があると言って良いのではないでしょうか。
GPU処理性能
GPUの性能も2倍に向上しているとのことなので、これを確かめてみます。
スペックの確認
まず、素の演算性能に着目すると、567GFLOPS から 1250GFLOPS になっており、頂点や陰影をつける 理論上の計算能力は 2.2倍 になっていることが分かります。実際にこの演算性能が描画性能に直結するわけではなく、結果をメモリに書き出す能力(フィルレート)も関わってくるのですが、こちらは正確な情報を見つけられなかったので、演算性能の向上に見合った向上があると仮定します。
次にメモリコントローラを見ていきます。Snapdragon XR2はLPDDR5とLPDDR4Xの二種類に対応しています。現時点ではOculus Quest2がどちらを採用しているかはわかりませんが、LPDDR5なら約1.47倍、LPDDR4Xなら1.12倍に「メモリを読み書きする性能」が向上していることになります。
GPUとメモリの性能を比較すると、「メモリを読み書きする性能の向上」が「演算性能の向上」に伴っていないことに気付きますが、これはGPUの進化では一般的なことです。というのは、GPUはある程度まとまった単位でデータを読み書きするため、メモリ性能を上げなくても絵を豪華にすることができるからです。特にスマートフォンに採用されているGPUは、消費電力を減らすためのメモリの読み書きを減らす特殊な工夫がされているため、一般的なゲームアプリケーションではよりメモリ性能の影響は小さくなります。
結論として、GPUでは スペック上 2倍は妥当であるものの、メモリの読み書きが増えると、性能は1.47 or 1.12倍ぐらいまで低下していく 可能性があると言えそうです。
ベンチマークの確認
次に実際のベンチマーク性能を見ていきます。今回参考にしたのはNOTEBOOK CHECKというサイトです。このサイトにちょうどSnapdoragon 835と865の比較がありました。
まずは複数のベンチマーク結果をまとめた総合結果を見ると2倍になっています。各ベンチマーク結果を見ても、高めの解像度で性能が落ちる、ということもなさそうに見えます。
結論として、Qualcommのいう 2倍の性能向上はGPUにおいても嘘ではない、ただVR特有の処理負荷については考慮されていないかもしれない、と言ったところだと思います。。
動画処理性能
動画処理性能は4倍になってるとのことなのでこれを確かめます。
動画処理に関してはベンチマークがありませんのでスペックだけを見ていきます。スペックは1080pの動画を120fpsでデコード可能、のようなわかりやすい表記がされていますし、使い方によって性能が変わってくるということもありません。
そこで、スペック表を詳しく比較してみます。スペックの一部はカメラキャプチャ性能からの類推ですが、大きくは外していないはずです。
解像度 | Snapdragon 835 | Snapdragon XR2 | 性能向上幅 |
---|---|---|---|
720p | 240fps | 960fps | 4倍 |
1080p | 120fps | ? | |
2160p | 60fps (デコード) 30fps (エンコード) |
120fps | 2倍 (デコード) 4倍 (エンコード) |
4320p | 30fps |
これらを見ていくと、一部では確かに4倍を達成していますが、OculusLink/VirtualDestopで一番重要になってくる2160pの動画デコードに着目すると、性能は2倍にとどまっています。
このことからDSP部分の処理能力としては2~4倍の間の向上、VR用途においては2倍強の性能向上である、と考えておけばよさそうです。
AI処理性能
AI処理性能は11倍になっているとのことですが、これも検証に使えるデータは見つかりませんでした。一般のユーザはHexagon DSP上でプログラムを自由に動作させることができない(NDAが必要)ため、ベンチマークを動かすのも容易ではありません。
唯一性能を知る手掛かりになるのはTOPと呼ばれる指標です。TOPSはSnapdragon 845世代からQualcommが言い出した指標で、AI処理性能の中でも推論に特化した性能指標になっています。この数値が11倍になっている、というのがQualcommの言い分です。
実際のAI推論処理性能は扱う学習データの大きさによって変わってくるので何とも言えませんが、Snapdragon 845から追加されたTensor Acceleratorと動画処理能力の向上幅と合わせて考えると、実能力も数倍のオーダーで向上はしていると考えてもよさそうです。
性能向上の恩恵は?
どれぐらいSoCの性能が上がっているのか予想がついてきたので、それがどれぐらい嬉しいことなのかを考えていきます。
表示パネルの強化にSoCの性能向上は追いついているのか?
Oculus Quest2では表示パネルが強化されており、解像度は1440×1660から1832×1920(単眼)へ、リフレッシュレートは72Hzから90Hzに強化されています。そのため、処理性能も表示パネルの強化に見合った向上が必要になります。
CPU
CPU処理能力に影響する要素はリフレッシュレートの変更です。
つまり、今まで 1/72秒(13.9ミリ秒)以内に終わらせなければいけなかった処理を、1/90秒(11.1ミリ秒)以内に終わらせなければいけなくなりますから、CPUは25%の性能向上が必要になります。
逆に言うとそれ以上の性能向上はVR体験の向上には直接作用しません。CPU処理が早く終わった分グラフィックス処理を早く開始できる、というような副次的な効果はありますが、2倍の性能向上はかなりオーバーキル であるといえます。
GPU
GPUは解像度とリフレッシュレート両方の影響を受けます。つまり、パネルの性能を最大限に引き出そうとすると(ピクセル数 1.47倍)×(リフレッシュレート 1.25倍)= 1.82倍の性能向上がGPUには必要 です。グラフィックスの処理性能は2倍になっているので、余裕があるように思えます。
しかし、ここで一つ心配な要素があります。それはVRは普通の3Dゲームに比べてメモリの読み書きが多い点です。普通のゲームアプリであれば、アプリが表示する絵を描くだけで終わりですが、VRアプリでは、そのあとにCompositorがレンズゆがみ補正・色収差補正・Timewarpといった処理を続けて行います。これらの処理はアプリが書いた絵全体を読み書きするため、メモリ帯域を大きく消費します。そして、Compositor動作中にはアプリは次のフレームの描画処理を開始するため、そこで処理の食い合いが起こります。
つまり、メモリ帯域を考慮に入れると、GPUはそこまで余裕があるわけではなく、今までぎりぎりで動いてたアプリを90Hzでの動作させようとした場合には処理性能が不足する恐れはあります。
しかしながらOculus QuestにはDynamic Fixed Foveated RenderingやAsynchronous Timewarpといった性能が足りないことを補う機能がありますので、総じて体験は良くすることは可能と考えてよいと思います。
動画デコード
OculusLink/VirtualDeskopで重要になる動画デコード処理能力はGPUと同様に1.82倍の性能向上が必要になります。
実際の性能向上は2倍強と考えられますから、だいぶ余裕はありそうです。余裕があるということは1スライス(動画エンコード時の分割単位、フレームよりも細かい)を処理するのに必要な処理時間も短くなります。
したがって、動画処理能力の向上によりOculusLink/VirtualDeskop利用時の遅延が減ることが期待できます。
通信性能
(後日追記予定)
Oculus Quest2はWiFi6(802.11ax)に対応することがQualcommからアナウンスされています。詳細は分かりませんが、もしOculus Quest2が初代と同等のアンテナを搭載していたとすると、Oculus Quest2は最大1774Mbpsで通信できることになります。もちろん実際にそこまで速度は出ませんが、初代の866Mbpsと相対的に比較して2倍程度の性能であることを期待してもよいのではないかと思います。
アプリのダウンロードや動画鑑賞においては無線規格がボトルネックになることはありません。この性能向上が効いてくるのはVirtualDesktop利用時の動画データの転送です。
動画サイズ(ビットレート)は一般的に解像度やフレームレート(リフレッシュレート)に応じで大きくなってはいきますが、ピクセル数やフレーム数に比例はしません。そのため、必要な伝送容量は1.82倍よりも低い値になります。
つまり、通信性能はパネルの性能向上を大きく上回る強化がされていると言ってよさそうです。
注意点
ここまでの内容は、全力でプロセッサを動かした場合の性能について論じています。実際にアプリを動かす際には発熱やバッテリー効率を考慮し、クロックを落として処理する場合があります。
しかしながら、Snapdragon 835・Snapdragon XRともにターゲットの消費電力はほぼ同じであることから、最大性能を比較すれば実際の動作条件下の性能を比較した場合も同じになります。むしろ、冷却性能はOculus Quest2の方が向上しているので有利かもしれません。
このことから、本記事ではこういった消費電力上の制約を除外して書いています。
Snapdragon XR2によってOculus Quest2が得られる恩恵の考察とまとめ
表示パネルの品質向上分を差っ引いた処理性能向上が見てきたので、次に実際に何が嬉しいのかをまとめます。(読み飛ばしている人向けに一部に重複した記述があります。)
表示品質・フレームレート
Oclus Quest2に最適化されているアプリとそうでないアプリ
パネルがペンタイルのOLEDからストライプの液晶になっているため、スクリーンドア効果が減り、表示品質の向上が実感できるようになります。その一方で、実際に描画される画像が精細になるのか、リフレッシュレートが向上して滑らかに見えるようになるかはアプリケーションのつくりによって変わってきます。
最適な描画解像度はOculusランタイムがハードウェア考慮してアプリに提示しますが、実際にどんな解像度を使うかはアプリ次第です。(大抵のアプリは提示されたデフォルト解像度の何%、といったロジックで描画解像度を決定します。)また、リフレッシュレートに至っては、アプリが明示的に90Hzに対応していると宣言しない限り、72Hzのままです。実はOculusランタイム側で何らかの対策がされている可能性もありますが、Oculus Quest2に合わせて更新・発表されたアプリのみが、向上したパネルの性能を最大限に引き出せる、と基本的には考えておいた方ががっかりしなくて済みそうです。
追記:OulucLinkやサードパーティ製アプリの90Hz対応は発売日以降になるそうです。
Oclus Quest2に最適化されていないアプリの場合
Oculusランタイムの方針やアプリのつくりによってはパネルの性能を100%引き出せない可能性がありますが、従来の描画設定で動いているアプリにとっては2倍の性能向上をそのまま享受できますので、もともと処理落ちしていたようなアプリでは処理落ちが減り、滑らかに動作することが期待できます。
CPUの複数コア使い切れない最適化が不十分なアプリにとっては、シングルスレッド性能の向上の恩恵も大きいはずです。
Oclus Quest2に最適化されているアプリの場合
表示パネルの強化に見合う性能向上がCPU・GPUにありますので、スペックから期待される通りの体験が得られます。
アプリケーションによってはメモリ帯域不足が原因でたまにGPUの処理が追い付かなくなる可能性もありますが、Dynamic Fixed Foveated Renderingにより、視野周辺の描画を荒くすることでフレームレートの低下を回避することができます。そのため性能不足に気付くことは殆どないでしょう。
すべてのアプリに言えそうなこと
総じてOculus Quest2では処理性能を持て余すことの方が多く、Dynamic Fixed Foveated Renderingは視野周辺の描画品質を向上させる方向に働くことの方が多いように思えます。この辺りは実機を入手して調べてみたいところです。
また、画面の描画とは同期しないCPUに閉じた処理、例えばアプリの起動処理やブラウザの読み込み処理に関しても改善が見られるはずです。
トラッキング
トラッキング使われるDSPのAI処理能力は飛躍的に向上しています。これによりトラッキングのアルゴリズムをより凝ったものにして精度を向上させたり、処理頻度を上げてトラッキングの遅延を減らしたりすることが期待できます。特に、処理が複雑で現状遅延が大きいハンドトラッキングは、今後大幅な改善がされるのではないでしょうか。
一方で、トラッキング性能はカメラや6軸センサなど他のハードウェアの性能にも大きく左右されます。Oculus Quest初代に比べてOculus Quest2はトラッキング性能が下がったのではないかというレビューもあります。おそらく新ハードウェアへのチューニングが不十分で、アップデートで改善されるとは思いますが、気になるところではあります。
Oculus Link/Virtual Desktop
VR画面をストリーム転送する上で必要な動画デコード処理能力と無線伝送能力は、パネルの性能向上によって追加で必要になる性能以上に向上しています。これにより、表示遅延が低下することが期待できます。
また、OculuLink/Virtual Desktopでは画面内容をレンズの歪み以上の特殊な形に歪めて、解像度を落としています。(Fixed Foveated Renderingと似ているけど違う仕組み、OculusはAADTと呼んでいる)
そのため、縮尺が不自然に見えることがありますが、Oculus Quest2ではこの歪みのレベルを落として、より自然な描画結果を得ることできるのではないでしょうか。
その他OSの機能
CPUの処理能力は、パネルの性能向上に必要な性能以上に向上しており、メインメモリも増えているため、アプリケーションの外側で独立して動作する機能は、初代に比べてより安定して動作するようになると考えられます。例えば、プレイ画面をスマートフォンやChromecastに共有するシェア機能をはアプリケーションによってはフレーム落ちすることがありましたが、これが改善されるはずです。
他にも、Bluetoothヘッドセットを使うと音が途切れたり、フレーム落ちが見られることがありました。こちらも改善が期待できます。またSnapdragon XR2は最新のSoCである都合上、対応するAndroid OSも新しくなります。これにより、Android 8からOSレベルで対応したAptXやLDACといった高品質な音声コーデックも利用可能になります。(初代はAndroid7でした。)Oculus Quest2ではBluetoothイヤフォンを使うことが一般的になっていくのではないでしょうか。
Oculus Quest2専用ソフトは出るのか
SoCの処理能力が向上しているということは、その向上分の性能を最大限に生かしたOculus Quest2専用ソフトが出るのかも気になるところでしょう。今のところOculus Quest初代とOculus Quest2は同じプラットフォームであり、Oculus Goのような対応が分かれることはないとOculusは公式にアナウンスしており、両対応が義務付けられています。将来的にはどうなるでしょうか。
SoCの性能差から考えると、この方針はよっぽどのことが無い限り変わることはない、と考えられます。3倍とか4倍とか性能が違えば、専用ソフトを出すメリットはありますが、パネルの強化を考慮すると性能の向上幅は2倍を大きく下回りますから、できることに大した差はありません。
また、これまでもPC向けのソフトを移植ではなくQuest向けに作り直すケースも多くあったぐらいですから、この程度の差であれば最適化で両対応しろ、となりそうです。Oculus Quest初代はかなりの数売れているので、当分切り捨てられることはなさそうです。
ただし、ハンドトラッキングやOculusLinkの強化など、Oculus Quest2だけでできることは出てくる可能性はあります。
最後に
スペック情報から性能特性を推定し、そこから得られる恩恵を考察してみました。実際に実機を見てみたらちょっと違った、みたいな点もあるかもしれませんが、それほど大きく外してはいないのではないかと思います。
考察して分かったのは、表示パネルの性能向上に見合うだけの処理性能が向上しており、しかも性能向上幅も高すぎずちょうどいいところが考えられている点です。別の言い方をすると、今の最新の半導体技術を採用しつつ、そこに合わせて最適な表示パネルが選ばれている製品と言えます。
PCVRでは表示パネルの製造技術やコストが採用パネルの解像度を決める主な要因でしたが、スタンドアロンVRでは最新スマートフォンに採用されるSoCの性能が解像度を決める主な要因になりそうです。
ディスカッション
コメント一覧
まだ、コメントがありません