Redshift(以外でも役立つ)レンダリング高速化のヒント

レンダリング高速化のヒント

記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。

Maxon Training Team の Ellyさんが「Faster Redshift Render! 」というタイトルで行ったライブ配信について、C3D の YouTube で解説動画を公開したところ、多くの方にご覧いただいています。関心を持たれている方も多く、Redshift 以外でレンダリングする場合でも役に立つ情報も多いため、動画の内容を記事にしました。

Redshift 以外でもためになるレンダリング高速化の話

Elly さんのライブ配信はアーカイブされていて、YouTube で見られます。英語でも大丈夫な方にはお勧めです。

上記のライブ配信の内容について解説した C3D の動画はこちらです。 本記事には含まれない話も多くあるので、興味があればこちらもご覧ください。

何がレンダリング時間に影響を与えるのか?

Elly さんのお話でレンダリングに影響を与えるものとして挙げられているのが次の3点。

  • ハードウェア性能
  • シーンの最適化
  • レンダリングソフトの最適化

ハードウェアに関しては性能が高いほど導入コストもランニングコスト(主に電気代)もかかるので悩ましいところ。シーンやレンダリングソフトの最適化に関してはコストがかからない部分なので覚えておきたいですね。

お勧めのハードウェアスペック(2024年3月)

お勧めのハードウェアスペックに関しては、私の経験も加えて考えてみました。Elly さんが示していたものよりも少し高めのスペックです。

Windows

Windows に関して、CPU は Ellyさんがお勧めしているのは Intel ですが、理由に関しては説明がありませんでした。AMD の Ryzen はコスパがよく、性能も高いため、私のマシンは Ryzen です。GPU レンダラーを使うときに重要なのがグラフィックボードの性能ですが、グラボだけ最高のものを選んでも他のパーツの性能が低いと実力を発揮しきれない場合もあります。

コストと性能のバランスで考えるとショップが出しているマシンなら信頼性が高いです。私はショップ・ブランドの製品を購入し、その後にメモリを増強したり、SSDやグラフィックボードを交換したりしています。コストが最重要なら自作になると思いますが、パソコンに関する知識が不可欠ですし、サポートも受けられないので注意が必要。パソコンに詳しくないけど自作したい(コストは抑えたい)という場合は、パーツ選びをショップに相談してもよいでしょう。ショップによっては、パソコンの組み立て代行サービスもあります。

PC組立代行サービス|TSUKUMO

私がお勧めする Windows パソコンの性能は次の通り。グラフィックボードは VRAM 容量も重視しています。これぐらいの性能ならショップ・ブランドで20万円台前半のものがありました。余裕があれば、メモリは 64GB 以上がお勧めです。

  • Intel または Ryzen
  • メモリ 32GB〜
  • Nvidia RTX 40系 VRAM16GB〜
  • 1TB(NVMe SSD)〜

CG用パソコンの選び方については過去記事をご参考にしてください。

CG用パソコン 3DCG・映像制作用パソコンの選び方

Mac

CG 用パソコンとしては、より高性能なグラフィックボードを利用できる Windows 推奨ですが、どうしても Mac が使いたいという場合は、M3 搭載機種一択です。

最新の M3 ではグラフィック性能が大幅に強化されており、CG 用途で考えるなら M2 という選択肢はありません。ただ M3 Mac は本記事執筆時点では MacBook Pro / Air というラップトップマシンだけなのと、円安の影響もあって高額。M3 Pro 搭載の Mac mini が発売されれば、推奨スペックのマシンが30万円台前半で購入できそうですが、それにしても Windows と比べると高いです。

Apple Silicon Mac は、CPU、GPU、メモリなどが1枚のチップになっており、メインメモリが GPU の VRAM も兼ねています。後からスペック変更できないこともあり、メインメモリ容量は予算が許す限り多めにしたいところです。まあスペック全般、可能な限り増強したいのですが…

推奨スペックは M3 Pro 以上としていますが、できれば M3 Max がよいかなというのが正直なところ。

  • M3 Pro 〜
  • メモリ 36GB〜
  • 1TB SSD〜

Mac はグラフィックボードの最高性能では Nvidia にはかなわないものの、電力効率はかなり優れています。また導入コストは高いものの、リセールバリューもあって中古でも比較的高い金額で売れたりします。

ちなみに Elly さんは、M3 Max の MacBook Pro で RAM は最大容量の 128GB を選ばれています。信者の憧れです…

M1 M1 MacBook Airは予想を超える高性能でCGソフトも快適に動く

シーンで最適化すべきところ

シーンで最適化すべきところについては、CG ソフト全般に共通することばかり。気を付けるようにしたいですね。

  • 物理シミュレーションとダイナミクスはキャッシュまたはベイク
  • サブディビジョンの分割数が多くならないようにする
  • オブジェクト数が多くならないようにする
  • 高解像度テクスチャは避ける
  • 使っていないオブジェクトやマテリアルは削除する
  • モーションブラー、被写界深度、ボリューム、コースティクス、透明度/屈折(transmission / refraction)、サブサーフェス・スキャタリングは、レンダリング負荷になる

レンダリング設定で最適化すべきところ

レンダリング設定に関しては Redshift に特化した内容になっています。他のレンダリングソフトについて詳しくないのですが、共通点が見いだせる部分があればご参考にしてください。

Redshift の基本設定

Redshift には「Basic」「Advanced」のモードがあり、初心者は Basic モードで Bucket Quality を選ぶだけで他の設定はお任せにできます。標準では Medium になっていますが、品質は高めです。

redshift_basic_settings

Sampling

Advanced モードでは様々な項目を手動で設定できます。重要なのが Sampling で、レンダリング品質に直結しています。UNIFIED SAMPLING > Threshold の数値は Basic モードの Bucket Quality と連動しており、例えば Medium を選ぶと Threshold = 0.01 となり、Low なら 0.1 になります。逆に Threshold を0.01 にすると、Bucket Quality は自動で Medium になります。

redshift_sampling_setting

標準では Automatic Sampling にチェックが入っていますが、チェックを外すと Samples Min / Max、OVERRIDES などの項目が新たに表示され、手動設定できるようになります。目安として、Samples Min = 16、Samples Max =128 を基準にして設定を詰めるのが多くの事例において最適なようです。

redshift_sampling_manual_setting

Globals

Globals 設定内の「Hardware Ray-Tracing (if available)」に関しては、Nvidia のグラフィックボードなら RTX 系、Mac なら M3 以上で対応しているとのこと。30〜40秒程度でレンダリングできるような場合はそれほど効果が無いようですが、長めのレンダリング時間になる場合は、こちらにチェックを入れておくとレンダリング時間を短くできるようです。

TRACE DEPTHS の 各項目に関して、例えば、シーンで Volume を使っていないならこちらは 0 にします。使っている項目に関しては、数値を変更して品質を確かめながら設定を詰めていきます。このとき Combined の数値が関係しますが、こちらに関しては公式マニュアルからの引用を以下に掲載しておきます。

結合深度(Combined depth)パラメータは、グローバルイルミネーション、反射、ボリューム、および透過/屈折光線の結合の上限を指定します。つまり、グローバルイルミネーション、反射、屈折の個々の深度値がCombined Depthよりも高い場合でも、レンダリング結果の上限はCombined Depth値になります。

例えば、反射と屈折の両方の値が4に設定され、Combinedが6に設定されているとします。レイがすでに4回反射されていた場合、Combined Trace Depthが6なので、あと2回しか屈折させることができません。

redshift_globals_setting

Global Illumination (GI)

GI は初期設定では、次のようになっています。Primary、Secondary とも Brute Force にした方が品質は高くなります。ただし、Brute Force は計算に時間がかかります。

  • Primary GI Engine = Brute Force
  • Secondary GI Engine = Irradiance Point Cloud (IPC)

Primary GI Engine は Primary Ray(=カメラから発生するRay) 、Secondary GI Engine は Secondary Ray(オブジェクトとの交点から反射または屈折したRay=間接光)をコントロールします。それぞれ、次の各要素の設定に関係します。

  • Primary Ray → アンチエイリアス、被写界深度、モーションブラーなど
  • Secondary Ray → ライト、リフレクション、リフラクションなど
redshift_GI_setting

System

System では、BUCKET RENDERING のサイズを設定可能です。初期設定は 128(128 x 128 ピクセル)で、これよりも大きな設定にするとレンダリングが速くなりますが、GPU パワーが必要になります。負荷の高いレンダリングのときに最も大きな 512 の設定にすると、Redshift が落ちることを避けるために自動で 256 に下げられることもあるそうです。

redshift_system_setting

できるだけ知識をつけてレンダリングを高速化したい

レンダリング時間を少なくするためにハードウェアは可能な限り高性能なものにしたいけどコストがかかるし、すぐに変えられるものでもありません。となると重要になるのは知識の部分。最適な設定ができれば、現在の環境でもレンダリング時間を短くできます。

Elly さんのお話以外にも有効な設定は色々とあると思うので、適切な知識を身に付けて活かしていきたいものですね。