analytics
NVIDIA
VR
Vive

NVIDIA FCAT導入までやる

More than 1 year has passed since last update.

NVIDIAからVR向け解析ツールが出ていて気になって導入くらいまではやったのでめも

http://www.geforce.com/hardware/technology/fcat

http://jp.gamesindustry.biz/article/1703/17031701/


雑概要

GPUの出力をキャプチャ対象にするということでGPUメーカーならではなんではないかなという印象です。そもそもVRでのレンダリングは高いパフォーマンスを出すための工夫が凝らされてます、と言いつつそのあたり詳細語るレベルにないのでスルーして、公式ドキュメント最初らへんまでをやってみます

引用しますと以下の詳細がより精度高く見ることができる模様です


  • Total frametime

  • Application dropped frames

  • Runtime warp dropped frames

  • Asynchronous Space Warp (ASW) synthesized frames

http://international.download.nvidia.com/geforce-com/international/pdfs/NVIDIA_FCAT_VR_Reviewer's_Guide_Public.pdf


環境

Windows10

GTX980

HTC Vive


準備

公式のDownloadsからzipダウンロード

解凍すると FCAT AnalyzerFCAT Capture がありそれぞれ解析後のデータをヴィジュアライズするツール、解析データのキャプチャツールのようです

fcat1.PNG


キャプチャ

Captureの方はフォルダ潜ってexe実行すると完結なGUIが表示されるので解析データの格納場所やキャプチャタイミング、頻度を指定します

fcat2.PNG


ヘッドマウント

公式にはViveとOculus Riftで項目が分かれていますが今回はViveなのでSteamVRの設定を2箇所確認

ダイレクトモードの常時再投影のチェックを外す

fcat3.PNG

パフォーマンスの非同期再投影を許可のチェックを外し、インターリーブ再投影を許可するのチェックを入れる

fcat4.PNG


インストール

最後にPowerShellからCapture\Release\Install.cmd実行して必要なbatが実行されたら再起動

キャプチャまではこれで完了で、キャプチャ情報の描画はpyqtを使ってるぽいです。なので公式通りにAnacondaで突っ込みました。PowerShellほとんど使ったことなかったのですが、pythonインストール程度であれば別段問題ありませんでした。普段利用してる場合は普通に3系でpip通して必要ライブラリインストールすれば大丈夫なのでしょう

Anaconda公式からpythonインストール

PowerShellから pip install

fcat5.PNG

以後はFCAT_Captureを立ち上げた状態で解析したいVRアプリ起動してScroll Lock(デフォのキャプチャ開始ホットキー)でキャプチャ


解析


ディレクトリ

キャプチャ後の解析は、一定のディレクトリ構成考えたが推奨らしいです

C:\FCAT\Data\<GPU>\<GAME>\<SETTINGS>\<OTHER> とのことなので似たような構造作ってデータ配置しました

fcat6.PNG


見る

Analyzer以下のFCAT.py実行するとGUI立ち上がるので作成したDataフォルダごとドラッグ、無事視覚化にたどり着きました

fcat7.PNG

プロットしたグラフ上でリージョンというので範囲指定して細かく見ることもできるようです


所感

現状VRのパフォーマンスチェック手段はゲームエンジンのProfiler使うくらいしかなかったので、GPUメーカーからこういったツールが一般向けに出てきてもらえるのは良いという感想でした

フレームレートは酔い等にもつながるといわれているため特に普段から気にしている訳ですが、TimeWarpといった技術の詳細なプロファイリングが手軽になるのは開発者としては助かる限りだと感じます