SuperSampling

Last-modified: 2019-01-03 (木) 08:25:56

SuperSamplingとは

SuperSamplingとはアンチエイリアシングの手法でギザギザを無くすために一般的に使われる手法で、SSAAなどと呼ばれています。
実際に描画されるよりも大きなサイズで描画しダウンサンプリングすることでギザギザを低減するため、描画する解像度が大きくなる分、より多くのGPUパワーが必要になります。
内部解像度を上げる事で、より良質なVR体験ができます。

必要なスペック

SteamVRを利用するソフトへ一律に適用されるため、ソフトによっては描画に異常が出ることもあります。
大抵の場合はスペック不足によるものです。

設定方法

スーパーサンプリング値はパフォーマンスでの設定とアプリケーションの二種類があります。
参考:SteamVRのスーパーサンプリング(内部解像度)をアプリケーション毎に個別で手動調整・設定する

基本設定

スーパーサンプリングの基本設定値はSteamVR起動時のチェックにより自動で(静的に)設定され、全てのアプリケーションに適応されます。
値は設定 - 動画 - アプリケーション解像度 の手動オーバーライドにチェックを入れると確認や変更をすることができます。

  • 主なグラフィックボードで設定された値。100がそのHMD標準の値。
    グラフィックボードVIVEVIVE Pro
    2080Ti?186-200
    2080?146-156
    1080Ti200130-132
    1080179106
    107013264-72
    980Ti10072
    970?54

アプリケーション個別の設定

設定 - アプリケーション のプルダウンメニューからアプリケーションごと個別に設定することが出来ます。この値はパフォーマンス設定との乗算になっており、例えばパフォーマンス120%、アプリケーション120%の場合は144%となります。

数値について

renderTargetMultiplierを1以下にすることで逆に負荷を下げることもできる。値とGPU負荷の関係は以下。Viveの場合1.7では内部解像度は4K相当になるためハイエンドGPUでも厳しい(1971*2190*2=8.6メガピクセル/フレーム)。

解像度GPU負荷
0.61171x130160%
1.01512x1680100%
2.02318x2376200%
3.02619x2910300%
4.03024x3360400%
5.03381x3757500%

スーパーサンプリング100%での内部解像度はHMDの機種ごと異なります。Viveの場合100%はパネル解像度の1.4倍です。この値は最終出力時にレンズの歪みを補償するよう変換したときに中央部がドットバイドットに近くなるよう意図されているようです

外部の設定ツール

同等の設定を行えるツールが幾つかリリースされています。

OpenVR Advanced Settings

reddit産。SteamVR内で設定できる。SuperSampling以外にもシャペロンや音声など豊富な設定項目があるので入れておくと便利。
InVRScreenshot.png

導入の仕方(簡易版)

以下のGithubのReleasesより最新のものがダウンロード可能。解凍後中の .exe を実行し、SteamVRを起動するとUIにAdvancedが増えている。
https://github.com/matzman666/OpenVR-AdvancedSettings/releases

各画面の説明はREADMEのDocumentationの項を参照。
https://github.com/matzman666/OpenVR-AdvancedSettings#documentation

Compositor Supersampling って?

Compositor Supersamplingの項目について良い説明があったので転記

67 名無しさん┃】【┃Dolby [sage] 2016/11/16(水) 02:48:16.14 ID:mgPmIR500

>>55

SSAAを変更するとゲームとコンポジの両方に同じ値が適用されているけどSteamVRのベータ版からゲームとコンポジのSSAAを個別に設定できるようになった

compositor Supersamplingはコンポジ向けのSSAAの設定

ちなみにコンポジはSteamVRのホーム(システムボタン押すと呼び出される画面)の描画やデスクトップ上のゲームの描画等の処理を担っている

コンポジはゲームプレイに影響しないことがほとんどなのでコンポジSSAAを下げることでより多くのGPU/CPUリソースをゲームに回すといった活用法がある

Chaperone Switcher / シャペロンスイッチャー

海外のredditユーザーが公開しているツール
https://www.reddit.com/r/Vive/comments/4q4bu3/update_chaperone_switcher_on_the_fly/

日本語での解説は、テンプレにもあるTSUKUMOのFAQがわかりやすいのでこちらを参照。
https://blog.tsukumo.co.jp/fukuoka/2016/07/Vive_FAQ.html#kasumu


suWI6Q1.png

設定ファイルを書き換える方法

最初に発見された方法だが、他の設定方法が出てきたので一般的では無いと思われる

  1. Steamがインストールされているフォルダを探す(デフォルトではC:\Program Files(x86)\Steam)
  2. configフォルダを開く
  3. steamvr.vrsettingsをテキストエディタで開く
  4. 『"steamvr" : {},』に『"renderTargetMultiplier": 2.0』を追加する。(2.0にすると縦横の解像度が2倍になるためGPU負荷は4倍)
    【例】

    "steamvr" : {
    "renderTargetMultiplier": 2.0
    },