2019年10月に発売された「VIVE Cosmos」は、位置トラッキングのシステムを大改編し、従来のVIVEシリーズでは必須だったベースステーションを使わずにセットアップできるように進化した製品だ。
VIVE/VIVE Proのネックであったベースステーションのためにコンセントから延長ケーブルを引き回したり、設置のために雲台やライトスタンドを用意するという労力から開放されたことで、VIVE Cosmosはより手軽で楽しみやすいVRヘッドセットに進化したわけだ(ただし別売のMod装着で従来のベースステーションやコントローラーにも対応できる)。
VIVE Cosmosの使用感は既に飯島氏がレビューしているが、気になるのはパフォーマンスだ。その理由は、VIVE Cosmosのディスプレーは2880×1700ドットと、VIVE Proに比べ僅かに縦方向の解像度が高くなっているからだ。
VIVE Cosmosのディスプレーはリフレッシュレートや視野角はVIVE Proと同じ(90Hz、110度)だが、画素数は6%程度増加した。微々たる変化のようだが、これが実際にどの程度の影響を及ぼすかは検証が必要だ。
本稿はVIVE Proで行なってきた検証(発売直後レビュー、NVIDIA編、AMD編)のVIVE Cosmos編という位置づけになる。すなわち、VIVE Cosmosを組み込んだシステム上で様々なVRゲームを遊び、GPUにどの程度余裕があるか/ないかを比べるものだ。
SteamVRでVRパフォーマンスを見るには
これから展開されるチャート(フレームタイム推移)は、筆者のVIVE Proレビュー等ではお馴染みのものだが、改めて簡単にチャートの見方を解説しておきたい。
VIVEファミリーのパフォーマンス測定は、SteamVRに組み込まれている機能を利用する。SteamVRの「設定」→左端の「動画」メニューと進み、一番下にある「フレームタイミングの詳細」ボタンを押すことで呼び出すことができる。
フレームタイムの推移ウインドウには上側にCPU、下にGPUと記されたグラフが表示される。横軸は時間軸(右端が現在、左端が過去)であり、縦軸がフレームタイムでミリ秒(ms)単位で記録される。
このフレームタイムとは、VRヘッドセットにレンダリングする映像1フレームの処理に、どの程度時間がかかったかを示すものだ。まずCPUがシーンのお膳立てをし、その内容をもとにGPUがレンダリングして出力する。なのでCPUとGPUにそれぞれフレームタイムが発生する。
このフレームタイムは短い(低いところで安定する)ほど、処理能力が高いということになるが、VRヘッドセットの場合目標値が設定されている。VIVEファミリーの内蔵ディスプレーのリフレッシュレートは90Hz、つまり1秒間に90fps以上の映像を出力されても表示しきれない。1秒間に90fpsの映像を出すためには、1フレームあたり11ms(1000ms÷90fps)の猶予がある。
つまり、VIVEファミリーにおいては、実際にゲーム等をプレイして、フレームタイムが11ms以内に収まっていれば“十分な性能である”といえる。もちろん常に11msギリギリでは厳しいため、フレームタイムはある程度の余裕があった方がよい。この辺はゲームの作りにもよるが、9msもあれば十分。しかしフレームタイムが低いシステムはより“描画の重い状況にも余裕をもって”対処ができるといえる。特にGPUのフレームタイムが逼迫しやすいので、GPUのフレームタイムにどの程度の余裕があるかを注視しよう。
SteamVRのGPUフレームタイムを左右する要素は大きく「ゲームの描画負荷」「GPUパワー」「アプリケーション解像度」の3つに分類できる。まずVRゲームの描画負荷(画質設定)が重ければ、フレームタイムは長くなる。強力なGPUがあれば、同じ描画負荷でもフレームタイムは短くできる。アプリケーション解像度は描画負荷の一部ではあるが、SteamVRではヘッドセットに投影する映像の解像度を画質とは別に設定できるので別枠とした。アプリケーション解像度を落とすとVR映像もエッジがぼやけ気味になるので、像の解像感を死守したい場合は画質を落とすか、GPUパワーを引き上げるしかない。
このアプリケーション解像度設定(VIVE Proレビュー時はSS設定と言っていたが、SteamVRの表記に合わせることにした)は、GPUパワーによって最適値が上下する。例えばGeForce RTX 2060の場合は「70%」だが、Radeon RX 5700XTでは「90%」、RTX 2080Tiでは「150%」となる。ただどんなVRゲームでもこの推奨解像度設定でちゃんと遊べるかは別の話だ。