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
環境
Windows10
GTX980
HTC Vive
準備
公式のDownloadsからzipダウンロード
解凍すると FCAT Analyzer
と FCAT Capture
がありそれぞれ解析後のデータをヴィジュアライズするツール、解析データのキャプチャツールのようです
キャプチャ
Captureの方はフォルダ潜ってexe実行すると完結なGUIが表示されるので解析データの格納場所やキャプチャタイミング、頻度を指定します
ヘッドマウント
公式にはViveとOculus Riftで項目が分かれていますが今回はViveなのでSteamVRの設定を2箇所確認
ダイレクトモードの常時再投影のチェックを外す
パフォーマンスの非同期再投影を許可のチェックを外し、インターリーブ再投影を許可するのチェックを入れる
インストール
最後にPowerShellからCapture\Release\Install.cmd
実行して必要なbatが実行されたら再起動
キャプチャまではこれで完了で、キャプチャ情報の描画はpyqtを使ってるぽいです。なので公式通りにAnacondaで突っ込みました。PowerShellほとんど使ったことなかったのですが、pythonインストール程度であれば別段問題ありませんでした。普段利用してる場合は普通に3系でpip通して必要ライブラリインストールすれば大丈夫なのでしょう
Anaconda公式からpythonインストール
PowerShellから pip install
以後はFCAT_Captureを立ち上げた状態で解析したいVRアプリ起動してScroll Lock
(デフォのキャプチャ開始ホットキー)でキャプチャ
解析
ディレクトリ
キャプチャ後の解析は、一定のディレクトリ構成考えたが推奨らしいです
C:\FCAT\Data\<GPU>\<GAME>\<SETTINGS>\<OTHER>
とのことなので似たような構造作ってデータ配置しました
見る
Analyzer以下のFCAT.py実行するとGUI立ち上がるので作成したData
フォルダごとドラッグ、無事視覚化にたどり着きました
プロットしたグラフ上でリージョンというので範囲指定して細かく見ることもできるようです
所感
現状VRのパフォーマンスチェック手段はゲームエンジンのProfiler使うくらいしかなかったので、GPUメーカーからこういったツールが一般向けに出てきてもらえるのは良いという感想でした
フレームレートは酔い等にもつながるといわれているため特に普段から気にしている訳ですが、TimeWarpといった技術の詳細なプロファイリングが手軽になるのは開発者としては助かる限りだと感じます