HTC Vive のソフトウエアセットアップは、下記サイトのツールを起動して画面に従っていくだけで完了します。

Vive Setup (www.htcvive.com/jp/setup)

各デバイスの認識状態の確認には StemVR アプリを使います。Base Station 同士がお互い遮蔽物がなく見える位置にあること、ヘッドセット及びコントローラーが両方の Base Station から見える位置にあることが重要になってきます。うまく認識されていない場合は StemVR のメニューから 「Viveヘッドセットを再起動」 すると良いようです。

SteamVR

上の Vive Setup のページには推奨 PC も書かれています。Oculus Rift との比較は下記のとおりです。

Oculus Rift CV1 HTC Vive
GPU GTX 970 / R9 290 以上 GTX 970 / R9 290 以上
CPU Core i5-4590 以上 Core i5-4590 / FX 8350 以上
RAM 8GB 以上 4GB 以上
HDMI / DP HDMI 1.3 以上 HDMI 1.4 / DP 1.2 以上
USB USB 3.0 x3 + USB 2.0 x1 USB 2.0 x1

Oculus Rift : Recommended PC Specification
HTC Vive : Recommended System Requirements

どちらも 1080x1200 x2 (2160x1200) 90fps とスペックが似通っているためか推奨 GPU は同一でした。最も異なっているのは USB Port の数で、Oculus Rift は USB 3.0 を含む合計 4個の USB Port を使っています。一方 HTC Vive は USB 2.0 が 1個だけで済んでおり、トラッキング方法の違いが表れています。

GAME Watch: Gamescomで存在感を増してきたSteamVR初号機「HTC Vive」
GAME Watch: Valve「Lighthouse」とOculus CV1のトラッキングはどっちが凄い?

上の記事の解説によると HTC Vive はヘッドセット/コントローラー側に受光器があり、BaseStation はレーザー光のパルスを発光しているだけとなっているようです。Base Station は PC と直接繋ぐ必要がなく、またコントローラーもワイヤレスなのでセンサーの通信量もそれほど多くないのでしょう。Oculus の方はおそらく高フレームレートで Camera 画像を読み取っており、それなりの帯域が必要になっているのだと思われます。

発光だけとはいえ、HTC Vive の Base Station は決して簡単な構造ではないようです。電源を入れると僅かな振動が感じられ、中でモーターが高速に回転していることがわかります。それなりに重量もあり、ずれないように安定した設置場所の確保が必要です。


推奨 spec 以下の PC では本当に動かないのか試してみました。HTC Vive では動的に性能の監視をしており、90fps に満たない場合はアプリケーションの描画が行われないようになっています。起動してみてアプリの画面が表示されなければスペックが足りていません。必要な描画性能はアプリケーションに依存しますが、目安となる測定ソフトが提供されています。

下記は SteamVR Performance Test の結果です。

CPU AMD A10-7870K 評価 Frame 遅延 結果
GeForce GTX 960 Maxwell 3.4 (中程度) 9352 0% VR可能
GeForce GTX 760 Kepler 0 (低い) 7466 94.1% VR使用不可
RADEON R7 (7870K 内蔵) 0 (低い) 1849 100% VR使用不可
CPU Core i7-4790K 評価 Frame 遅延 結果
GeForce GTX 960 Maxwell 3 (中程度) 9571 0% VR可能
GeForce GTX 980Ti Maxwell 9.7 (非常に高い) 10292 0% VRレディ

「VR 可能」判定は描画が 90fps を下回らないかどうかでデジタルに決まります。そのため GPU 性能に比例した数値は、評価 よりも Frame (実際に描画した Frame 数) の方が近くなっています。例えば GTX 960 と GTX 760 を比べると、Frame の値はそこまで差が開いていませんが 760 はぎりぎり 90fps に達していないのだと思われます。そのため結果としては「VR使用不可」となっています。

GTX 960 は 100% 90fps を超えているため「VR可能」ですが、性能上余裕が無いためか評価は「中程度」に収まっています。おそらくソフトによっては処理落ちが生じ、全く表示されないアプリが出てくるものと思われます。i7-4790K でも結果はほぼ同じだったので、純粋に描画性能が問題となってるようです。

A10-7870K 内蔵 GPU RADEON R7 の場合 Frame の数値がかなり落ちています。↓ CPU のスコアもかなり落ちているので、バス帯域が間に合っていないのだと思われます。

↓A10-7870K 内蔵 RADEON R7
vive_ptest_7870k_r7.png

↓A10-7870K + GeForce GTX760
vive_ptest_7870k_gtx760.png

↓A10-7870K + GeForce GTX960
vive_ptest_7870k_gtx960.png

A10-7870K + GTX 960 の組み合わせなら一応「VR可能」なので実際に幾つかのアプリを試してみました。Fantastic ContraptionTilt Brush ではほぼ問題なく動きました。が、どうやら GPU よりも CPU が追いつかないらしく The Lab などの重いソフトではトラッキングが処理落ちし、ぶれて安定しなくなります。描画落ちではないのでシステムで検出されないようです。

SteamVR Performance Test は GPU/CPU の描画だけの評価を返しますが、トラッキングなど VR では描画意外でも CPU 能力を要求しています。影響が出るのできちんと推奨スペックを守った方が良さそうです。


関連エントリ
HTC Vive (VR ヘッドマウントディスプレイ) の接続
VR Device spec 一覧


3月に注文した HTC Vive が昨日届きました。

htc_vive1.jpg

一定の空間を実際に歩ける RoomScale と、最初からモーションコントローラがついてくる点が特徴です。もちろん他の VR HMD 同様に座ってモニタの前だけで使うことも可能。

付属物は非常に多くケーブルの物量もかなりあります。AC アダプタが 5つも入ってますが、動作中に必要なのはこのうち 3個だけです。2個はコントローラの充電用なので、交互に充電して兼用してもいいしプレイ中は無くても問題ありません。またケーブルには接続先を示すタグがついているのでわかりやすくなっています。

HMD の他に必要なのは 2台の Base Station です。これを部屋に設置することで HMD や Motion Controller のトラッキングが行われます。Base Station につなぐケーブルは AC Adapter の電源だけ。それぞれ離れた場所に設置しますが、最小構成の場合は 1台だけでもなんとかなるようです。

PC につなぐケーブルは 2本のみ。Link Box から伸びる USB と HDMI (または DP) だけなので、意外にシンプルでした。Base Station もコントローラーもワイヤレスになっています。

   PC
   ||  USB HDMI (または DisplayPort)
   ||
[LinkBox] -- AC Adapter
   |||
   |||
 Vive HMD


BaseStation (ch b)  -- AC Adapter

BaseStation (ch c)  -- AC Adapter


関連エントリ
VR Device spec 一覧


VR Device の一覧まとめ

HMD VR Device spec 一覧



iPhone SE で vfpbench を走らせてみました。
単位は GFLOPS で数値が大きい方が高速です。SP-MT で速い順に並べています。

CPU clock SP-ST DP-ST SP-MT DP-MT
Apple A9 1.85GHz x2 41.857 14.545 81.071 28.333
Apple A8X 1.50GHz x3 23.568 11.751 68.591 33.968
Apple A8 1.40GHz x2 22.194 11.105 44.331 22.084
Apple A7 1.30GHz x2 20.621 10.313 40.871 20.480
Apple A6X 1.40GHz x2 10.855 1.818 21.502 3.573

・SP=単精度, DP=倍精度, ST=SingleThread, MT=MultiThread

Apple A9 は Core 単体の演算能力が非常に上がっていることがわかります。Core 単体の演算速度 SP-ST ですでに 41.9 GFLOPS に達し、Multi-Thread 時の SP-MT では 2 core の A9 が 3 core の A8X を上回っています。クロック差を考えると iPad Pro の A9X はおそらく 100 GFLOPS を超えるでしょう。

他の CPU との比較は下記の通り。Ivy Bridge i5 は Mac Book Pro Late2013 (Core i5-3210M) の結果です。

CPU clock SP-ST DP-ST SP-MT DP-MT
Ivy Bridge i5 2.50GHz x2 48.604 24.315 90.249 45.223
Apple A9 1.85GHz x2 41.857 14.545 81.071 28.333
Tegra K1 2.20GHz x4 17.136 3.431 70.174 14.036
Athlon 5350 2.01GHz x4 15.943 6.127 63.737 24.504
Snapdragon 805 2.70GHz x4 15.575 4.547 64.316 20.393

clock から逆算すると A9 の CPU Twister は単精度の NEON 命令を 3 つ同時に実行しており、積和 x NEON 4 x 3 pipe で clock あたり 24 flop 相当となります。Ivy Bridge が 16 flop, Haswell が 32 flop なのでその中間です。ただし Haswell は 8 並列の AVX x 2 pipe なので、並列度で言えば Twister の方が上回っていることになります。単精度のスカラー命令や SSE との比較なら Twister の方が高速に実行できるかもしれません。

なお倍精度では乗算と積和が 2 並列となっており、A8 Typhoon 世代と同等になっているようです。

CPU 毎の並列度の詳細は下記の参照してください

CPU の浮動小数点演算能力の詳細

計測結果は下記に追加しています。

VFP Benchmark Log 計測結果まとめ


関連エントリ
Raspberry Pi 3 の速度比較, Cortex-A53 の速度
ARM Cortex-A53 の浮動小数点演算速度とコンパイル時間の比較
2955U vs N3150/J1900/Athlon5350 (コンパイル時間の比較)
Apple TV の浮動小数点演算速度。Fire TV/Android TV との比較など
iPod touch 6 の浮動小数点演算速度は Core 2 Duo ライン超え
iPad Air 2 (Apple A8X) の浮動小数点演算能力


Raspberry Pi 3 を入手したので簡単にベンチマークを取ってみました。

昨年似たスペックの DragonBoard 410c (Snapdragon 410) が発売されています。CPU は Cortex-A53 1.2GHz quad でほぼ同等、どちらもオンボードで Wi-Fi/BT を搭載しています。RAM は Pi 3 の方が若干遅く内蔵ストレージも無いですが、値段は半分以下となっています。少々残念なのは Pi 3 の OS が 32bit なことです。DragonBoard の方は 64bit で動作しています。

いつものコンパイル時間を比較してみました。 (Time が小さい方が高速)

Device Time
Raspberry Pi 3 175 sec ( 2m55s) 10.8x
DragonBaord 410c 186 sec ( 3m06s) 10.1x
Raspberry Pi 2 402 sec ( 6m42s) 4.7x
Raspberry Pi 1893 sec (31m33s) 1.0x

やはり DragonBaord 410c と近い数値になっています。SD Card の差もあるので一概には言えませんが、初代と比べておよそ 10倍、Pi 2 と比べても 2倍以上高速です。

スペック込み&より多くのデバイスとの比較は下記の通りです。

Device core clock C/T 64 RAM Time
Core i7-4790K Haswell 4.0GHz 4/8 Y 16GB 15 sec ( 0m15s)
Celeron J1900 Silvermont 2.0GHz 4/4 Y 8GB 88 sec ( 1m28s)
Athlon 5350 Jaguar 2.0GHz 4/4 Y 8GB 88 sec ( 1m28s)
Celeron 2955U Haswell 1.4GHz 2/2 Y 4GB 93 sec ( 1m33s)
Celeron N3150 Airmont 1.6GHz 4/4 Y 16GB 108 sec ( 1m48s)
Raspberry Pi 3 Cortex-A53 1.2GHz 4/4 N 1GB 175 sec ( 2m55s)
DragonBaord 410c Cortex-A53 1.2GHz 4/4 Y 1GB 186 sec ( 3m06s)
Raspberry Pi 2 Cortex-A7 0.9GHz 4/4 N 1GB 402 sec ( 6m42s)
Atom Z540 Bonnell 1.8GHz 1/2 N 2GB 426 sec ( 7m06s)
Raspberry Pi ARM1176 0.7GHz 1/1 N 0.5GB 1893 sec (31m33s)
Netwalker Cortex-A8 0.8GHz 1/1 N 0.5GB 1902 sec (31m42s)

・C/T = Core数/Thread数


vfp benchmark の比較はこちら (単位は GFLOPS、値が大きい方が速い)

Device arch SP-ST DP-ST SP-MT DP-MT
DragonBoard 410c ARMv8A 9.498 4.749 37.965 18.603
Raspberry Pi 3 ARMv7A 9.431 2.477 37.442 9.994
Raspberry Pi 2 ARMv7A 1.791 0.877 7.087 3.472
Raspberry Pi ARMv6 0.674 0.674 0.674 0.674

・SP=単精度, DP=倍精度, ST=SingleThread, MT=MultiThread

あくまでピーク値なので実際のソフトウエアでここまで差がでるわけではありませんが、潜在能力としては Pi 2 の 5倍以上の差がついています。(SIMD で 4倍 x clock差) 単精度では 初代 Pi と比べると 55倍も高速です。将来的に 64bit に対応すれば、倍精度演算も DragonBoard と同じくらいの速度に上昇するでしょう。

Cortex-A53 は big.LITTLE の LITTLE として使われていますが、浮動小数点演算に関しては A7 から大幅に拡張されており big core に近い構成になっています。下記スライド写真からも「2 倍精度 MAC / cycle」「4 単精度 MAC / cycle」であることがわかります。

マイナビニュース ARM TechCon 2012 - 64bitプロセッサ「Cortex-A50」シリーズの概要が公開される/Cortex-A53編

さらに下位の Cortex-A35 が登場予定となっており、こちらが本来の Cortex-A7 相当の 64bit プロセッサになるものと思われます。

下記ページを更新しました。

VFP Benchmark Log 計測結果まとめ
CPU の浮動小数点演算能力の詳細


関連エントリ
ARM Cortex-A53 の浮動小数点演算速度とコンパイル時間の比較
2955U vs N3150/J1900/Athlon5350 (コンパイル時間の比較)
Raspberry Pi 2 で速くなったコンパイル時間の比較


| 次のページ(日付が古い方向)>>