VRSにより、パフォーマンスを大幅に向上させることができます(最大18.9%)。 -目立った画質の低下なしに幅広い機器で。Gears Tacticsを 開発する際の主な目標の1つ
最小システム要件を下げることで、より広いPCの聴衆にリーチすることでした。これを行うには、パフォーマンスを改善するための新しいソリューションを見つける必要がありましたが、グラフィック品質を大幅に低下させる必要はありませんでした。これらのソリューションの1つはVRSでした。
この記事では、品質とパフォーマンスの最適なバランスを実現するためにVRSを調整するプロセスを詳しく見ていきます。特に、それを使用するためにどのレンダリングが通過し、どのパラメーターを使用するか。
主な目的は、最も幅広い機器を実装に含めることでしたので、VRSサポートの最初のレベル(Tier 1)についてのみ説明します。これにより、各オブジェクトのシェーディングレートを設定できます。 VRSの詳細については、この投稿をご覧ください。Gears Tactics
の場合、 VRSは最初のレベルよりも高いサポートレベルには適用されないため、使用できるレンダリングパスを決定する必要がありました(Gears Tacticsアンリアルエンジン4)で作成され、シェーディングレートを下げる必要がある場合の基準を策定します-ワンタイムレンダリングが適用されるピクセル領域のサイズ。値が大きいほど(最高値は1×1)、レンダリング精度が高くなるため、GPUの負荷が高くなります。
結局のところ、VRSは、一部のフルスクリーンレンダリングを含め、レンダリングのどの段階でも有益です。
レンダリングパイプラインの評価
最初は、ベースレンダーパスと半透明性パスは、他のものと比較して最適化の可能性が最も高いはずです。そのため、VRSはベースパスと半透明パスのすべての描画呼び出しで有効になりましたが、後者は非常に深刻なアーティファクトがありました。
つまり、次のステップは、VRSから最大の利益を得るために最も有望なパスを評価し、これらのパスのシェーディングレートをテストして、アーチファクトを残したものを除外することでした。したがって、正確なピクセル情報を使用したパスは、これらのアーチファクトの主な原因の1つであることがわかりました。
最も効果的なパスを見つけるには、すべてのパスでVRSをオンにしてから、PIXでそれらを他のパフォーマンスよりも優れたものに絞り込む必要がありました。
はい、どうぞ:
- ライティング後の構成:サブサーフェススキャタリングマテリアルのライティング。
- 半透明ボリュームのフィルター:ボリューム内の半透明メッシュをスムージングして、ブレンドの問題を回避します。
- ライトの減衰:ライトの減衰は、特定のライティングの減衰を計算するときの外側の境界です。このパスは、計算されたフォールオフを考慮して、シェーディングされたライトに対して繰り返され、シャドウ投影をレンダリングします。
- (Light composition tasks (PreLighting)): .
- (Light Shaft Bloom): (), .
- (Screen Space Reflections): .
- - (SSR Temporal AA): .
- (Direct Deferred Lighting): .
次に、VRSが原因でこれらの通路で受信されたアーティファクトの重大度を評価する必要がありました。Gears Tacticsにはさまざまなタイプの気象条件を持ついくつかのバイオームがあるため、プロセスにはかなり時間がかかることがわかりました。日中は街で良い結果を得ることができますが、アーティファクトは砂浜の環境、または葉、または雨の夜に出てきます。
次のパスでは、VRSを有効にするとパフォーマンスが向上しましたが、使用するに値するほど多くのアーティファクトがありました。
- 半透明の照明(Translucency);
- 遅延照明;
- 照明後の構成。
粗い4x4ピクセルサイズのライティング後のコンポジションの前後の画像の例
これらのパスを削除した後、他の要因に基づいてシェーディングレートを調整する作業が始まりました。まず、動的オブジェクトと透明マスクを持つオブジェクトが除外されました。
動的オブジェクトは完全に動的な影を落とします。このため、VRSを使用すると、重要な詳細が失われ、シーン全体だけでなく、移動中もより見やすくなります。透明度マスクにVRSを適用すると、詳細が大幅に失われました。また、ピクセル深度オフセットを持つオブジェクトも誤って表示されることが判明したため、除外されました。
マスクされたオブジェクトのセットでVRSが使用されたため、許容できない詳細の損失が発生しました
ダイナミックなテクニック
そこで、VRSを適用できる一連の優れたレンダーパスをまとめました。ただし、これらのパスで最小のシェーディングレート(ハードウェアサポートに応じて4×4または2×2)を広く使用すると、品質が大幅に低下します。したがって、次のステップは、特定のパスに応じてシェーディングレートを変更できる動的な方法を検討することでした。その結果、3つが形成されました。それらのそれぞれは、メッシュを描画する直前のキーパスで使用されました。
これらのメソッドは、オブジェクトのサイズ変更、被写界深度マスキング、およびフォグオブウォーマスキングです。
オブジェクトのサイズの決定
この方法では、VRSはプレーイングスペースに比べて非常に小さいグリッドに積極的に適用されます。これは、メッシュ内の個々のポリゴンのサイズの値が指定されたしきい値を下回っているかどうかの状態のクイックチェックに基づいています。その場合、シェーディングレートはこのサイズに比例してスケーリングされます。
被写界深度マスク
ほとんどのGPUでは、Gears Tacticsの被写界深度はデフォルトでオフになっていますが、カットシーンではオンになっています。このメソッドは、後処理で被写界深度を適用した後にメッシュがぼかされる量を決定します。また、この段階では詳細が意図的に削除されているため、以前のすべてのキーパスで小さなシェーディングレートを設定できます。
赤でハイライトされたメッシュは、被写界深度のために最も粗いピクセルサイズを持っています
戦争の霧の変装
Gears TacticsはFog of Warを使用して戦場の一部を隠しています。また、低下したシェーディングレートをマスクするためにも使用できます。この手法は、特定のポリゴンメッシュが「fog of war」によってどのくらい隠されるかを決定し、これに基づいて、シェーディングレートを比例的に低下させます。
VRSの強度は、戦争の霧の強度に比例して増加します
品質とパフォーマンスの比率
上記の方法を組み合わせて使用すると、シェーディングレートが大幅に低下するため、30%以上のパフォーマンス向上が得られることがわかりました。確かに、品質の低下は私たちが望むよりも顕著になります。したがって、次のステップは、複数のバイオームを通過する各パスのシェーディングレートを手動で調整し、各変更後のパフォーマンスの向上と画質を評価することでした。
その結果、VRSは2つのレベルを受け取りました。一部のレンダーパスでVRSを無効にし、シェーディングレートの低下を制限する場合、「オン」の設定は画質への影響が最も少なくなります。同時に、「パフォーマンス」設定は、より低いシェーディングレートを使用してパフォーマンスを向上させるために、画質に小さな妥協をもたらします。
追加の電力を必要とするシェーディングレートを使用することには、もう1つの利点があります。2より大きいピクセルサイズでは、追加のハードウェアシェーディングレートのサポートが必要になるため、2x4、4x2、または4x4のシェーディングレートを使用するパスは、「パフォーマンス」レベルに制限されます。
試験結果
Intel Gen 11およびIntel XeとNVIDIA Turingで実施されたテスト。サポートされているすべてのツールで、同様のパフォーマンスが得られます。
テスト中の機器
オペレーティングシステム:Windows 10 Pro 64ビット(10.0、ビルド18362)(18362.19h1_release.190318-1202)
プロセッサー:Intel®Core(TM)i9-9900X CPU @ 3.50GHz(20 CPU)、約3.5GHz
メモリ:98304 MB RAM
ビデオカード:NVIDIAのGeForce RTX 2080のSUPER
すべてのテストは4K解像度でウルトラゲームの設定で行った
すべての技術がされた「VRSオン」の設定で、すべての技術が有効
「VRSパフォーマンス」で
VRS拡張
ここで説明するVRSアプリケーションを拡張することで、追加の利点を得ることができます。
さらなるマスキング技術
追加のマスキングテクニックにより、VRSのパフォーマンスを向上させたり、アーティファクトを減らすことができます。これらの方法は、再生中にエリアがシェーディングまたはぼかされる場合によって異なります。
- モーションブラー:動きの速いシーンを使用するカメラは、モーションブラーが有効になっているほとんどのメッシュでVRSを簡単に使用できます。
- 粒子:粒子の厚い層の後ろに隠されたポリゴンメッシュを使用して、高輝度VRSをマスクできます。
動的VRS
動的解像度スケーリングと同様に、可能な改善は、フレームレートに基づいてVRSをスケーリングして、使用にかかる時間を最小化することです。これは別個の追跡システムであり、アーチファクトの増幅を回避するために、異なる周波数での調整が必要になる場合があります。
動的解像度スケーリング(DRS)
Gears Tacticsは、最適化にVRSとDRSの両方を使用しますが、これらの機能の互換性はあまり高くない場合があります。これは、DRSが解像度スケールを変更すると、VRSアーティファクトも変更されるためです。これにより、プレーヤーはVRSアーティファクトと解像度の変更について一度に学習するか、両方とも気付かれなくなるという事実につながります。両方の機能を同時に使用する1つの方法は、DRSの変化率を監視し、それが安定するまでVRSの使用を無効にすることです。
結論の代わりに
Tier 1 VRSを上手に使用すると、画質への影響を最小限に抑えながら、幅広い機器で大幅なパフォーマンスの向上を実現できます。