筆者の下へ届いたOculus Rift CV1 製品パッケージ非常に高価な機器だけあって、かなり大きく立派なパッケージに収められていた

古いマシンでも一定条件を満たせばOK?~第一世代Core i7相当でOculus Riftを動かしてみた~前編

  • このエントリーをはてなブックマークに追加

by [2016年8月01日]

筆者の手元へ届けられたOculus Rift CV1 製品パッケージ非常に高価な機器だけあって、かなり大きく立派なパッケージに収められていた

筆者の手元へ届けられたOculus Rift CV1 製品パッケージ
非常に高価な機器だけあって、かなり大きく立派なパッケージに収められていた

Oculus Riftの発売から4ヶ月が経過し遅れていた日本国内の予約者への発送が軌道に乗り始め、また、HTC Viveの国内販売が開始されたことで、ようやく日本でもVR技術の本格的な普及が始まりました。

もちろん始まったと言っても現時点ではそれはごく限られた人々・施設での話で、いわゆるVR酔いへの対策の必要もあってヘッドマウントディスプレイ本体が当初想定されていたよりもはるかに高スペックとならざるを得なかったことから、これら第一世代のVRヘッドマウントディスプレイ(HMD)システムではまともに遊べる環境を用意するのにどちらもそれだけで約20万円かそれ以上の予算が必要と価格が高騰してしまいました。

これでは、とても爆発的な普及が期待できるような状況ではありません。

しかし一度普及が始まってしまえば、現実の製品という形をとってしまえば、後はメーカーの様々な工夫と努力で価格が下がってゆくのが工業製品というものの本質です。

自動車も、クーラーに冷蔵庫、それに電子レンジといった家電製品も、そしてもちろんパソコンやスマートフォンも、その歴史を振り返ってみればそうした低価格化圧力と高性能化圧力の狭間でもまれ、鍛え上げられて洗練されていったのですから、これらの新しいディスプレイデバイスもまた、同様に遠からず低価格化の道を歩むようになることでしょう。

かつては40万円近いお値段が当たり前で、鉛の詰まったトランクケースのような恐ろしく大きく重い(そしてさほど性能が高いとは言えない)のが通り相場だった、同時代のデスクトップパソコンとのソフトウェア互換性を備えたポータブルパソコン(※注1)が、いわゆるノートブックサイズにまで縮小されて20万円を切るところまで低価格化された記念碑的名作、東芝J-3100SS001「ダイナブック」やその競合機種となった日本電気PC-9801N「98NOTE」の登場を経て、急速に薄く軽く小さく高性能に、そして一方で低価格になっていったという前例を引き合いに出すまでもなく、それは工業製品が普及し一般化してゆく過程では避けて通ることのできないプロセスなのです。

 ※注1:「膝の上に乗るサイズのパソコン」ということでラップトップ(Laptop)パソコンと当時は呼ばれていましたが、実際には重すぎて膝の上に乗せて使うと膝を壊すというので「ニークラッシャー」などと揶揄されてもいました。ちなみに当時のポータブルパソコンでは一般的なデスクトップパソコンとは基本的なハードウェア仕様やOSが異なりアプリケーションソフトの互換性が無いのが当たり前で、手に提げて持ち運べて出先で仕事場のデスクトップパソコンと同じワープロソフトや表計算ソフトが使えるというだけでも大反響となるような状況でした。それだけに、デスクトップパソコンと同じソフトが動いて多くの企業で購入時に稟議が不要の20万円以下に価格が設定されたJ-3100SS001やPC-9801Nが市場に与えたインパクトは絶大で、以後企業・家庭への普及が急加速しました。

言い換えれば、今この時点で本格的なVR対応デバイスを大枚はたいて購入するというのは、高い金を出して時間と機会を買う行為であるといえます。

高すぎて一般の人が手を出せない/出しにくい時期に手を出してVRを体験し、あるいはそのVRデバイスを用いて対応コンテンツを開発する。

俗にアーリィアダプタと呼ばれるこの種の人々は、その「時間」と「機会」に何十万もの金を払っているということなのです。

今VRデバイスを購入する人でも出来れば安く上げたい

筆者が常用中のマシンでRift Compatibirity Checkを動作させた結果ご覧のとおりCPUが推奨条件を満たしていないと怒られてしまったが、何故推奨条件を満たしていないのかの判断基準は示されていない

筆者が常用中のマシンでRift Compatibirity Checkを動作させた結果
ご覧のとおりCPUが推奨条件を満たしていないと怒られてしまったが、何故推奨条件を満たしていないのかの判断基準は示されていない

さて、そんなアーリィアダプタな人たちでも、可能であればVRデバイス関連のイニシャルコストはより安く済ませたいというのが人情でしょう。

特に、この種の人ならそれなりに高価・高性能なパソコンを既に持っている方も多いでしょうから、できれば愛機でVR体験をしたいと考えるのはごく自然な発想です。

ただ、これまでの記事でも何度か触れてきましたが、Oculus RiftもHTC Viveも非常にハイエンドなマシンスペックを推奨動作環境として示しており、かなり最近にマシンを買い換えたか組み直したかした人でないと、その条件を満たすのは難しいというのが実情(※注2)です。

 ※注2:しかも最近までその条件が何故示されているのか、何故そのスペックが必要なのかが説明されておらず、チェックツールでチェックして推奨条件を満たしていないとされてもどこをどう強化すれば良いのかすら判らないというはなはだ不親切な状況が続いていました。

実際、筆者の愛用しているHewlett Packard Z800というマシンでも、かなり強化した状態で「Your Genuine Intel(R) CPU 000 @ 3.20GHz processor doesn’t meet our recomended specification」と冷たく宣告されるだけで、長らく何が足りないのか、何が原因で推奨条件を満たさないのかわからない状況でした。

CPUの推奨条件についての根拠を説明したOculusのサポートページCPUコアのシングルスレッド性能を重視したが故に現在の推奨条件となったことが説明されている

CPUの推奨条件についての根拠を説明したOculusのサポートページ
CPUコアのシングルスレッド性能を重視したが故に現在の推奨条件となったことが説明されている

このあたりについては、最近になって「 We focus on single-core performance CPUs, therefore not every Intel i5 and Intel i7 card will meet Rift’s recommended system specifications. 」、つまりシングルスレッド処理性能を重視しているために初期世代のCore i CPUでは駄目だ、という理由が説明されました。

もっとも、家庭用据え置きゲーム機でさえ8CPUコア搭載が当たり前で、そもそもパソコンでもOS自体がマルチスレッド動作を重視する実装となっている今のこのご時世に、何の工夫もなくただただシングルスレッドでの処理性能を要求するようなプログラムの書き方をしているのは、決してクレバーなやり方ではありません(※注3)。

 ※注3:筆者個人としては、それでは5年ほど前までのゲーム並みの頭の悪いやり方ではないか、と思ってしまいます。ちなみにCore i5-4590は4コアかつHyper Threading非対応、つまり4スレッド構成でIvy Bridge世代のCore iプロセッサではミドルレンジでもかなり下の方の機種です。

これに対し、HTC Viveの場合は推奨条件として「Intel i5-4590 / AMD FX 8350、または同等クラスのCPU以上」としていて、決してシングルスレッド性能が高いとは言えないPiledriverコアのFX8350(4.0GHz × 8)が推奨の範囲に入っているため、一定以上のマルチスレッド演算性能が出る環境であれば動作する可能性が高いことが示唆されています(※注4)。

 ※注4:ただし、以前の記事でも触れましたが、当のAMDのスタッフの方はHTC ViveでAMDの現行プロセッサ搭載マシンを使用した場合、最低限の水準を満たすことはできても複雑なオブジェクトを扱うコンテンツで実用的な動作を得るには厳しいことを明言しています。

ただ、それは置いておくとしても、どこをどのように強化すれば古いマシンで推奨環境の示す条件に届かずとも近づくことができる(※注5)のか、その手がかりが多少なりともが示されるようになったのは朗報です。

 ※注5:推奨条件を満たしていなくとも、Oculus Riftおよびそのソフトウェア環境そのものは(処理落ちなどが起きるものの)動作することが”The Oculus Rift may work but your virtual reality experience will be limited and degraded. “とアナウンスされています。

そこで今回は、筆者が常用している「Oculusの示す推奨環境に届かない」マシンを用いて、どこをどう強化すればそれなりに「Oculus Riftで遊べる」マシンになるのか、実験結果を交えて考えてみたいと思います。

どのあたりのマシンから動く可能性が出てくるのか

それでは、Oculus Riftを動作させるに当たって、どの程度の時期のマシンから動作する可能性が高まってくるのかを見てみることにしましょう。

PCI ExpressはGen.2以降。これは譲れない

 
まず、最低でもそのマシンに搭載されているPCI Expressスロットの世代(Generation)が第二世代(Gen.2)以降、つまりPCI Express 2.0以降をサポートしていることが必要です。

これは、複眼分でフルHD解像度を大きく上回る解像度となり、膨大なデータのやりとりを行う必要が生じるためです。

分かりやすく言えば、4K2K解像度で普通に処理が重めの3Dゲームが遊べる程度のデータ転送帯域性能を備えていないと、この部分がボトルネックになってGPU側が充分な性能を備えていてもその性能を発揮できない(※注6)のです。

 ※注6:具体的に言えばPCI Expressでは1レーンあたりGen.1(PCI Express 1.1)で片方向250メガバイト毎秒、双方向500メガバイト毎秒、Gen.2(PCI Express 2.0)で片方向500メガバイト毎秒、双方向1ギガバイト毎秒、Gen.3(PCI Express 3.0)では片方向1ギガバイト毎秒、双方向2ギガバイト毎秒と各世代間で2倍のデータ転送帯域性能を向上してきています。つまり、一世代古くなるごとに転送性能が半分になるため、高性能化したGPUで高解像度グラフィックス画面を扱う場合、古い世代になればなるほどこの部分が性能発揮の上での深刻なボトルネックの1つとなります。

筆者のマシンでSteam VR パフォーマンステストを実施した結果一応VRレディの範囲に収まっているが、GPUの設定を少しいじると途端に可能レベルまで忠実度のパフォーマンスが落ちており、かなりギリギリの結果であると言える

筆者のマシンでSteam VR パフォーマンステストを実施した結果
一応VRレディの範囲に収まっているが、GPUの設定を少しいじると途端に可能レベルまで忠実度のパフォーマンスが落ちており、かなりギリギリの結果であると言える

ただ、Gen.2で16レーンのPCI Expressスロットを備えたマシンでもGPUの種類やそのグラフィックスカードの搭載メモリ容量によってはかなりぎりぎりな印象(※注7)です。

 ※注7:筆者がテストした範囲ではPCI Express 2.0対応の同じマシンでGPU性能的には近似のRADEON R9 290(メモリ4GB)とRADEON RX480(メモリ8GB)で後者の方が明らかにより高い性能を示し、GPUの総合性能を重視する傾向があるSteam VR Performance TestではVRレディかどうかの境目になっていました。同じGPUでのメモリ容量を変えてのテストでは無いのですが、少なくともGen.2のPCI Expressスロットの場合かなりギリギリのところでGPUが動作していることは明らかです。また、VRレディと見なされたRADEON RX480でも設定をごくわずかに変えただけでもVRレディ判定されない場合もあって、薄氷を踏むようなデリケートな状況にあると言えます。

そのため、もし可能であればGen.3の16レーンPCI Express 3.0スロット搭載のマシンを利用した方が良いのは確か(※注8)です。

 ※注8:OculusがCPUの要件として第4世代のCore i5プロセッサ以上としているのも、1つにはこのPCI Expressの世代間でのデータ転送帯域性能の差が念頭にあった可能性があります。というのも、CPUコアのシングルスレッド性能ではCore i7 3970Xを筆頭にCore i5-4590を上回る機種が決して少なくなかった筈の1~2世代前のSandy Bridge世代では、主力機種の大半でPCI Express 2.0までのサポートとなっていたためです。言い替えれば、搭載する(性能要件を満たす)グラフィックスカードでVRAM容量が充分多くテクスチャデータ転送頻度を軽減できるのであれば、CPU性能は充分ながらGen.2 PCI Expressスロットしか持たず推奨条件を満たさない機種が一部にあったCore i7-3970X搭載マシンなどであっても、快適にOculus Riftが動作する可能性があるということになります。

Gen.1のPCI Expressスロットしか持たない古いマシン(Hewlett Packard Xw9400/CT)にRADEON R9 290を搭載しRift Compatibility Checkを実行してみた結果対応インターフェイスカードを挿し忘れていたUSBやそもそも演算性能が足りないCPUがNGなのは理解できるが、GPUがOKなのは少々腑に落ちない

Gen.1のPCI Expressスロットしか持たない古いマシン(Hewlett Packard Xw9400/CT)にRADEON R9 290を搭載しRift Compatibility Checkを実行してみた結果
対応インターフェイスカードを挿し忘れていたUSBやそもそも演算性能が足りないCPUがNGなのは理解できるが、GPUがOKなのは少々腑に落ちない

このあたりを勘案すると、Gen.2でもかなりギリギリなのですから、その半分の転送能力しか持ち合わせていないGen.1世代のPCI Expressスロットのみを搭載する機種は、スロットに挿したGPUの性能が充分発揮できると全く期待できないためこの段階でアウト、ということになります。

ところが、筆者が試した範囲ではGen.1世代のNVIDIA製nForce系チップセットを搭載するマシンにRADEON R9 290を搭載してSteam VR Performance TestとRift Compatibirity Checkを動作させてみたところ、Steam VR Performance Testではものの見事にGPU性能不足でVR不可との託宣が出る一方で、何故かRift Compatibirity CheckではGPU性能は問題ないとする不可解な結果となりました。

Gen.1のPCI ExpressスロットにAMD RADEON R9 290を挿してSteam VR Performance Testを実行した結果下の忠実度のグラフが示す様に、グラフィックスカード上の4GB ビデオメモリにあるテクスチャデータを利用できている間は非常に高い性能を発揮したが、PCI Express経由でメインメモリからテクスチャデータを転送する様になった瞬間に性能が急低下したことが見て取れる。また、当初「非常に高い」で張り付いていたことから、RADEON R9 290は当初より「高い」と「中」の間をうろうろしていたRADEON RX480よりもGPUコアそのものの基本性能が高いことがわかる

Gen.1のPCI ExpressスロットにAMD RADEON R9 290を挿してSteam VR Performance Testを実行した結果下の忠実度のグラフが示す様に、グラフィックスカード上の4GB ビデオメモリにあるテクスチャデータを利用できている間は非常に高い性能を発揮したが、PCI Express経由でメインメモリからテクスチャデータを転送する様になった瞬間に性能が急低下したことが見て取れる。また、当初「非常に高い」で張り付いていたことから、RADEON R9 290は当初より「高い」と「中」の間をうろうろしていたRADEON RX480よりもGPUコアそのものの基本性能が高いことがわかる

念のためにSteam VR Performance Testの測定結果の詳細を確認すると、当初は「非常に高い」に張り付いていた忠実度の値が、一定時間経過後は「低い」まで急降下してそのまま最後までグラフがほぼ水平に延びています。

これは当初グラフィックスカードが4GBなり8GBなりローカルでカード上に持っているビデオメモリの容量の範囲内で、PCI Express経由でのテクスチャデータのやりとりなどを行わない間はGPUの性能が発揮されているものの、テクスチャデータ等をGPUとメインメモリとの間でやりとりするようになると劇的にGPUの実効性能が低下することを意味しています。

つまり、3Dグラフィックス画像をリアルタイム生成している途中でGen.1世代のPCI Expressスロット経由でテクスチャデータをやりとりすると、予想通りそれがボトルネックとなってGPUの性能が満足に発揮できなくなったということです。

こうした事情を勘案すると、Gen.1世代のPCI Expressにしか対応しない機種はそれだけで否応なしに対象から外さざるを得ません。

6コアOpteronデュアル構成のマシンでCPU-Zを動作させた状態いわゆるIstanbulコアのOpteronだが、同時代のCore i第1世代のXeonと比較するとシングルスレッド性能が同クロック周波数換算で半分程度と著しく低い

6コアOpteronデュアル構成のマシンでCPU-Zを動作させた状態
いわゆるIstanbulコアのOpteronだが、同時代のCore i第1世代のXeonと比較するとシングルスレッド性能が同クロック周波数換算で半分程度と著しく低い

このあたりの世代の機種だと、CPUの絶対性能でもこの辺の世代は決定的に不足している(※注9)のですが、いずれにせよCore 2世代やソケットAM2+世代以前のCPUを搭載するマシンは対応チップセットが概ねGen.1のPCI Express対応でGPU性能が十分発揮できないため、HTC ViveやOculus Riftの利用には適さないと考えるのが妥当です。

 ※注9:例えばこの時代を代表するAMD製6コアCPUであるIstanbulコアのOpteronシリーズでも、CPU-Zのベンチマークテスト機能で測定してみると速度的に上から二番目のOpteron 8435(2.6GHz 6コア)を2基搭載したマシンさえシングルスレッドで520前後、12コア束ねても5300前後しか性能が出ておらず、特にシングルスレッド性能はCore i5-4590の1/3程度でしかありません。マルチスレッドでの性能はさすがに12コアも束ねるとOpteron 8435×2のマシンの方が高く、約2.5倍の性能となっています。言い替えれば、Oculusの提供するドライバやアプリ・ユーティリティがマルチスレッド重視で書かれてさえいれば、CPU性能だけならこのような古い機種でも充分実用になる可能性があるのです。なお、筆者が現用中のZ800(Xeon X5672 3.2GHz×4 ×2)で同じベンチマークソフトを動作させてみたところ、シングルスレッド性能は1100強、マルチスレッド性能は8500前後という値となっています。いずれにせよ、世代末期の2CPU搭載ハイエンド機でさえこの程度の値しか出ないのですから、この種のGen.1世代のPCI Expressを搭載するマシンでOculus RiftやHTC Viveを動作させるのはかなり無謀と考えておいた方がよろしいでしょう。

また、そもそもの話としてこのあたりのマシンは10年選手以上でしょうから、さすがにこれは買い換えを検討すべきです。

なお、PCI Express 3.0対応の16レーン拡張スロットを搭載するマシンでも、例えばIntelのAtomプロセッサやGodavariコアあたりまでのAMDのAPUを搭載するものについては、純粋にCPU性能が不足する(※注10)ため厳しいでしょう。

 ※注10:最初から納得ずくで性能を削って設計されたAtomは議論の余地がありませんが、Godavariコア搭載のAMD製APUとして最速のA10-7890K(4.1GHz×4)でさえCPU-Zのベンチマークテストではシングルスレッドで1200前後、マルチスレッドで3900弱程度の値しか出ておらず、これだけ高クロックで動作させているにもかかわらず、演算性能が不足しています。先日のニコニコ超会議2016の会場でお会いしたAMDの担当の方曰く「Zen(コア)まで待ってください」とのことで、現状ではAMD製CPUを搭載したマシンでVR環境を動作させるのは非常に厳しいと言えます。

中編に続きます。

▼参考リンク
Oculus Rift | Oculus
My CPU does not meet the recommended specifications | Oculus Support Center>
Vive | ホーム
SteamVR

PageTopへ