FCAT VR: 最新のテストツールをご紹介します
Oculus Riftの発売からほぼ1年が経ちましたが、VRのグラフィックパフォーマンスをベンチマークする適切な方法はまだありませんでした。しかし、これまではそうではありませんでした。過去数ヶ月にわたり、NVIDIAと緊密に協力し、「FCAT VR」という新しいツールをテストしてきました。このツールを使うと、HMDで見ているものを定量化できます。
まずは少し歴史を
3年以上前、私たちは「Challenging FPS: Testing SLI And CrossFire Using Video Capture 」という記事を公開しました。その記事で、ドン・ウォリグロスキーはビデオキャプチャに基づいてグラフィックカードをベンチマークする新しい方法と、FCAT(Frame Capture Analysis Tool)と呼ばれるオーバーレイとPerlスクリプトのスイートを紹介しました。
FCATは、パフォーマンスを定量化する手段としてNvidiaによって開発されました。しかし、当時の標準規格であるFrapsが、平均FPS、時間経過に伴うフレームレート、さらには個々のフレームのレンダリング時間を計算するのに必要な数値を既に提供していたのに、なぜわざわざ新しい評価手法を開発する必要があるのでしょうか?
2013年を思い出していただければ、SLIとCrossFireのマルチGPU技術が精査されていました。Frapsが報告する数値は、必ずしも画面上の体験を反映していないという主張がありました。この現象は、Frapsがディスプレイパイプラインのどの部分で動作しているかに起因していました。ソフトウェアはレンダリングされたすべてのフレームをカウントしていましたが、実際には一部のフレームは部分的にしか表示されませんでした。さらに悪いことに、画面にまったく表示されないフレームもありました。
FCATは、グラフィックカードの出力をビデオファイルにキャプチャし、フレームシーケンスを分析することで、ゲーマーがモニターに表示されるのと同じ情報を再現することができました。簡単に言うと、FCATは、Frapsの結果が実際のパフォーマンスと異なる場合があることを説明するのに役立ちました。もちろん、Nvidiaのコーディング作業は利他的な意図ではありませんでした。同社は既に、フレームの表示速度を調整して滑らかさを向上させるメカニズムをドライバーに組み込んでいました。AMDにはそれがなかったため、多くのフレームが無駄になっていることが示されました。その後間もなく、AMDも同様のペーシング技術を組み込み、この問題を改善しました。
残念ながら、FCATの使用は膨大なリソースを消費しました。グラフィックベンダーがフレームレートの低下やフレーム落ちを軽減するためにドライバーでフレームペーシングを有効にすると、私たちはFCATの本来の目的は達成されたと判断し、より多くのゲーム、品質設定、解像度を同じ時間でテストすることに重点を置き、FCATの使用をほぼやめました。現在、DirectX 11、DirectX 12、Vulkanでのテストには、主にPresentMon(および独自のカスタムフロントエンド)に依存しています。
Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。
VRベンチマーク:挑戦者登場
残念ながら、一般的なテストツールはどれも、HTC ViveやOculus Riftを介した仮想現実におけるグラフィックパフォーマンスのベンチマークには適していません。ゲームエンジンが生成するフレームは測定できますが、それらのフレームがHMDに表示されるまでのVRランタイム内でのその後の処理はすべて測定できません。VRMarkとVRScoreは合成測定である程度は役立ちますが、私たちは通常、現実世界での比較により重点を置いています。
FCAT VRが登場しました。これは概念的にはオリジナル版に似ています。しかし今回は、ベンチマーク方法が2種類あります。ハードウェアベースのキャプチャソリューションと、完全ソフトウェアアプローチです。どちらも同様の結果が得られます(表示方法は多少異なりますが)。しかし、ソフトウェアツールの方が当然ながら使いやすいです。
実際、ハードウェア実装は検証手段として存在します。FCATはNvidiaが提供しているため、読者、レビュー担当者、その他のベンダーは、FCATで生成されたテスト結果に信頼を置く必要があります。一部のメディアは、ビデオベースの分析によるテストに必要な2,000ドル以上のキャプチャカードと高負荷ストレージサブシステムを既に入手しています。しかし、コミュニティ全体から信頼性が証明されれば、ほとんどの編集者はソフトウェアによるベンチマークを行うでしょう。
ここで一体何を探しているのでしょうか?Nvidia は VR パイプラインと、どこで問題が発生する可能性があるかを非常にわかりやすく説明しているので、同社のドキュメントを借用し、簡潔に編集してみます。
現在主流のハイエンドVRヘッドセットであるOculus RiftとHTC Viveはどちらも、画面を90Hzの固定間隔でリフレッシュします。これは、約11.1ミリ秒ごとに1フレームに相当します。V-syncは、ユーザーに大きな不快感を与える可能性のあるティアリングを防ぐために有効になっています。
フレーム配信のメカニズムは、VRゲームとVRランタイムの2つの部分に分けられます。タイミング要件が満たされ、プロセスが正しく機能すると、以下のシーケンスが実行されます。
- VRゲームは、現在のヘッドセットの位置センサーをサンプリングし、カメラの位置を更新して、ユーザーの頭の位置を正しく追跡します。
- 次に、ゲームはグラフィック フレームを確立し、GPU は新しいフレームをテクスチャ (最終的なディスプレイではない) にレンダリングします。
- VRランタイムは新しいテクスチャを読み取り、修正し、ヘッドセットのディスプレイに表示される最終画像を生成します。興味深い修正としては、色補正とレンズ補正がありますが、VRランタイムによる処理はより複雑なものになることもあります。
次の図は、タイミング チャートでこれがどのように見えるかを示しています。
フレーム生成時間がリフレッシュ間隔を超えると、ランタイムの処理は著しく複雑になります。その場合、VRゲームとVRランタイムを合わせた合計経過時間が長くなりすぎて、次のスキャン開始時にフレームを表示できる状態にならない可能性があります。
この場合、HMD は通常、ランタイムから以前にレンダリングされたフレームを再表示しますが、VR では、ヘッドセット ディスプレイで古いフレームを繰り返すと頭の動きが無視され、ユーザー エクスペリエンスが低下するため、このエクスペリエンスは受け入れられません。
ランタイムは、古いフレームを繰り返すのではなく、新しいフレームを合成するアルゴリズムなど、様々な技術を用いてこれを改善します。これらの技術の多くは、最新のヘッドセンサー位置入力を用いて古いフレームを現在のヘッドポジションに合わせて調整する「再投影」という概念に基づいています。これにより、フレームに埋め込まれたアニメーションは改善されません(フレームレートの低下やジャダーが発生します)。しかし、ヘッドモーションの滑らかな体験は向上します。
FCAT VR は、Rift と Vive の 4 つの主要なパフォーマンス メトリックを取得します。
- フレーム落ち(アプリミス/アプリドロップ)
- ワープミス
- FCATのソフトウェアバージョンでは、フレーム時間データ
- 非同期スペースワープによって合成されたフレーム
VRゲームでレンダリングされたフレームが現在のリフレッシュ間隔では表示しきれないほど遅れて到着すると、フレームドロップが発生し、ゲームがカクツキます。こうしたドロップを理解し、測定することで、VRのパフォーマンスに関する洞察が得られます。
VR体験において、ワープミスはより重大な問題です。ワープミスは、ランタイムが現在のリフレッシュ間隔内に新しいフレーム(または再投影されたフレーム)を生成できなかった場合に発生します。上の図では、GPUによって以前にワープされたフレームが再表示されています。ユーザーはこのフリーズした時間を、大きなカクツキとして体感します。
FCAT VRのハードウェア版とソフトウェア版の両方を入手できたので、両方を紹介し、結果を比較します。そして、NVIDIAのソフトウェアツールが謳い文句通りハードウェア版と同等の性能であることが証明されれば、NVIDIAのユーティリティをベンチマークデータ生成の主なソースとして、グラフィックカード同士の性能比較を始めます。
詳細: 最高のグラフィックカード
詳細: デスクトップ GPU パフォーマンス階層表
現在のページ: FCAT VR: 最新のテストツールのご紹介
次のページ ハードウェアとソフトウェア: テストする2つの方法
クリス・アンジェリーニは、Tom's Hardware USの名誉編集者です。ハードウェアレビューの編集を担当し、注目度の高いCPUやGPUの発表を取り上げています。