Created on | Updated on

Redshift とRTX (RT cores)に関して

原文 https://www.redshift3d.com/forums/viewthread/23813/

このスレッドはREDSHIFT 3.0の機能やリリース日に関するものではありません。 そのため、REDSHIFT 3.0についての質問をしないでください。 私たちはそのような質問に答えを提供することはできません。

みなさん、こんにちは!

Redshiftに対してNVidia RTXのサポートについて質問する記事がこのフォーラムやWeb全般にて確認することができます。 例えば:リリース時期、速度向上に関しての質問、考えられる制限など。この投稿はこれらの質問に答えることを試みています。

まず最初に、ここで使用されている用語について少し紹介します。 「RTX」は、NVidiaが新しくレイトレーシングテクノロジと呼んでいるものです。場合によっては(例えばOptiX)、NVidiaはRTXも一部の旧世代のVolta GPU(TitanVなど)にも存在すると主張していますが、最新のTuring GPU(RTX2080、RTX6000など)で高速に動作します。なぜならこれらはハードウェアでレイトレースを加速する「RT cores」を含んでいるからです。 私たちはこの概念(TitanVもRTXをサポートしている)を少々紛らわしいと思います。 新しいGPUのみが「RTX」と呼ばれることを考慮してください。そして、いずれにせよ、我々が「RTX」について語る場合、我々はTuring RTX GPUだけを意味します。 すなわち 「RT cores」を含み、ハードウェアで高速化されたレイトレーシングを実行するGPUです。

進めましょう...

Redshiftのようなレンダラー開発者はRT coresにアクセスするためのいくつかの異なるAPIを持っています:DXR(DirectXレイトレーシング)、VulkanレイトレーシングそしてOptiX。Redshiftのようなレンダラー開発者はRT coresにアクセスするためのいくつかの異なるAPIを持っています:DXR(DirectXレイトレーシング)、VulkanレイトレーシングそしてOptiX。 OptiXは、DXRやVulkanには見ることができない可能性がある機能を可能にするため、私たちのような特定の "プロフェッショナルグラフィック"業界に最も適しています。 したがって、上記の理由から、Redshiftは現在RT coreハードウェアへのアクセスにOptiXを使用しています。

他の記事でも述べましたが、ここで強調しておくことが重要なのは、RTX(「RT cores」)はレイトレーシングのみを加速するということです。 それらはシェーディング、ボリュームレイマーチング、またはポイントクラウドテクニックを加速することはありません。 また、三角形以外の他のジオメトリプリミティブも加速しません。そのため、Redshiftのネイティブポイントプリミティブとストランド/ヘアでは、加速はほとんどありません。 変形ブラーなど、その他の機能も十分には加速されていません。

シーンが以下で重い場合、上記を意味します:

- シェーディング(複雑なシェーダー、たくさんのレイヤー、ブレンディングなど)
- ボリューム(たくさんのVDB)
- パーティクルまたはヘア(多数のプリミティブ)
- 変形ブラー(シーン内の多くの変形したオブジェクト)
- 放射照度ポイントやフォトン、ポイントベースのSSSなどのポイントベースの手法

...つまり、おそらく大きなスピードの向上を見ることはないでしょう。 遅くなることを意味するわけではありませんが(まだそのようなケースが見つかっていませんが)、メリットがほとんどないと思われるかもしれません。

基本的にすべてこの質問に帰着します:「レンダラーは私のシーンを通してレイを照射するのにどれくらいの時間がかかりますか?」 答は「たくさん」ということになり、シーンに多くの髪の毛やポイント、変形ブラーが含まれていない場合は、良い効果が期待できます。

以下は、かなり接近してレンダリングされた芝生のパッチを示す単純なシーン(プログラマーアートをお詫び申し上げます!)が表示されています。お分かりいただけるようにこれまでで最も複雑なシーンではありませんでしたが、拡散、反射、および半透明の効果をレンダリングし、ジオメトリはかなり「ノイズが多い」ことを意味します。つまり、レイトレーサーは交差点が見つかるまで芝生の葉を通るレイのナビゲートにかなりの時間を費やします。このシーンは、OptiX RTXレイトレーサーとRedshiftのCUDAベースのレイトレーサーの単純な比較として使用しました。このシーンでは、プライマリバウンスとセカンダリバウンスの両方にbrute-force GIが使用されていて、ポイントベースの手法は使用されていません。 OptiXの合計レンダリング時間(シェーディングを含む)は1:30、Redshiftは2:06でレンダリングを行いました。つまり、RTXを使用すると、とても正しく1.4倍のスピードアップになります。 シーンのジオが単純な場合や、より複雑なシェーダを使用している場合、またはポイントベースの手法を使用している場合は、(比較的)レイトレーシングに費やす時間が短くなるため、その差は小さくなります。

grass.jpg

 

残念ながら、このような「レイトレースに多くの時間を費やさない」効果を示すシーンがVulturesベンチマークシーンです。そのシーンでは、Redshiftはレイトレーシングに約25%の時間を費やしています。 そのシーンのジオメトリはかなり複雑ですが、それほど狂気ほどではありません。 そしてそれは二次GIバウンスのために irradiance point cloudを使います - 残念ながらRTXアクセラレーターではありません。 また、RTXアクセラレータではないかなり複雑なシェーダも使用します。 その結果、OptiX(RTX付き)はVulturesシーンのRedshiftのアルゴリズムよりもほぼ3倍速くレイを照射することができますが、フレームタイムの全体的な向上はわずか10%にすぎません。 上記の芝生の例ほど印象的ではありません。

あなたの特定のシーンでは、上記のようなスピードアップを確認できますか? 非常に難しいです。 おわかりのように、ここにはいくつかの流動的な部分があります。 しかし、いずれにせよ、RTXでは遅くなるシーンがあるべきではありません。とは言っても、実装にポイントやヘアを追加していないので、この時点で言うべき最も安全なことは「これらがRedshiftより遅くレンダリングされるかどうか」です。

実装はすでにさまざまなシーンをレンダリングすることができますが、すべてが確実に機能しているわけではありません。 以下に現在進行中の機能のリストがあります - それぞれの横にいくつかのコメントがあります。 コメントに「no RTX acceleration”(RTXアクセラレーションがない)」と表示されていても、フレーム内で完全に無効にするわけではありません。それは、これらの特定のオブジェクト/エフェクトが加速されないことを意味します。 シーン内の他のエフェクトやオブジェクトは加速されます。

- モーションブラー。 OptiXコードにモーションブラーをまだ追加していませんが、これは近いうちに行う予定です。前述したように、特定の側面では、ハードウェアが行わないので、RTXは残念ながら加速されません。

- ポイントやストランド/毛。 これらを追加するのはそれほど難しいことではありませんが、カスタムコードが含まれるため、残念ながらこれはRTXハードウェアアクセラレーションをほとんどまたはまったく行いません。

- スプライトノード 。これは実装できますが、残念ながら、レイトレーシング中に(後でではなく)テクスチャ読み取りを行うため、カスタムコードを記述する必要があります。これもRTXアクセラレーションをほとんどまたはまったく行わないことを意味します。

- トレースセット。 可視性フラグはすでに機能しています(yay!)が、トレースセットにはもう少し作業が必要になります。 それらは可能であるはずですがパフォーマンスに多少影響を与えるかもしれません。 これは未定です。

- レイトレースSSS。「待って、これがレイトレーシングコードとどう関係するのですか」と言うかもしれません。 Redshiftには、レイトレースSSS専用に設計されたレイトレース機能がいくつか含まれています。残念ながら、ここではこれ以上詳しく説明することはできません。 私が言えることは、これらの最適化はレイトレースSSSを実行するために絶対に必要であるということです。 このコードはカスタムです。これもまた、レイトレースSSSオブジェクトに対してRTXアクセラレーションがほとんどまたはまったく不可能であることを意味します。

- Out of coreジオメトリ。 さらに調査を行い、回避策があるかどうかを確認する必要があります。 いくつかの可能性を考えることができますが、残念ながらこれらはパフォーマンスへの重大な影響(現在のOut of coreテクノロジーよりも大きい)を意味するか、または十分に複雑なシーンでVRAMが不足する可能性があることを意味します。 そのため、この機能にはより多くの研究開発が必要です!

- ディスプレイスメント。 これはRTXとは必ずしも関係があるわけではありません。ただ、ジオメトリを現在OptiXに変換する方法は、残念ながら、テセレーションとディスプレイスメントを無効にすることです。 これは修正するのがかなり簡単であるべきであり、そして私が次に確認することになるものの1つです。

- Redshiftのその他の機能は、すでに動作しています。 そのため、VDB、シェーダ、ライティング、マット、deepEXRなどをすでにレンダリングできます。機能しない唯一の機能は上記のものです。 そのため、「いつVDBが可能になるか」などの質問や、それに沿った質問はしないでください。grin

現時点であなたたちの多くが抱えている質問は…
「さて、これはいつリリースされるのですか?」となるでしょう。grin

私達の計画は最初のRedshift 3.0テストビルドと共にRTXサポートを出荷することです。 3.0リリースは、これまでと同じスタイル(2.0、2.5、2.6)に従います。3.0が機能完了のステータスになるまで、新機能が徐々に導入される一連のリリースがあります。

Redshiftに慣れていない人のために:

  私たちは通常、バグやユーザーの要求に関して新しい機能が互いに「衝突する」ことなく、早くバグを見つけることができるようにするためにこれを行います。 もちろん最初のリリースが上記のように退屈にならないように、私たちは3.0の新機能を導入するつもりです。wink数週間以内にさらに情報を共有します。

ご質問やご質問がありましたら、ぜひお知らせください。

宜しくお願いします、

 

 

問題が解決しない場合は、Born Digital サポートまでお問い合わせ下さい。

サポート問い合わせ