CGBoxの一部の記事にはアフィリエイト広告が含まれております。
【Blender 3.1】「Cycles X」でレンダリングを高速化!
はじめに
こんにちは!
今回はBlender3.0/3.1の標準搭載レンダリングエンジン(レンダラー)の「Cycles X」について紹介します。
Cycles Xとは?
以前コチラの記事で紹介したBlender標準搭載レンダラー「Cycles」の改良版に当たる「Cycles X」(前回記事執筆時はベータ版でした)が、Blenderのバージョン3.0から正式版として実装されました。
今回は、「Cycles X」の使い方、従来Cyclesとの違い、おすすめ設定・デバイスについて紹介します。
また、Blender 3.1からはApple製のGPUでもCycles Xがサポートされ、MacユーザーもGPUレンダリングを使えるようになったので、その設定方法についても紹介したいと思います!
Blender3.0以降の「Cycles」は、開発時に「Cycles X」と呼ばれていたものが正式採用されたものです。
Blender2.9以前の「従来のCycles」との区別のために、本記事では「Cycles X」という名称で統一します。
Cycles Xの使い方
Cycles Xを使ってレンダリングする方法を紹介します。
ダウンロード方法
まず、最新版のBlender3.1をインストールしましょう!
こちらのBlender公式サイトからお使いのOS用のインストーラ、またはポータブル版をダウンロードします。
Blenderをインストールしたら、コチラの記事を参考に基本設定をしてください。
デバイスの設定
Blender3.1を立ち上げたら、「編集→プリファレンス→システム」から、使用するデバイスを選択します。
以下のように、GPUでのレンダリングを有効にしておくことをおすすめします。
Windows版だとこちらのようなメニューになっており、GPUをお使いであれば「CUDA」、「Optix」(Nvidia向け)、「HIP」(AMD向け)のいずれかが選択できるようになっているはずなので、有効にしておくと良いです。
また、Mac iOS向けBlenderでは「METAL」というメニューが有効なはずですので、そちらを選択してください。
- Nvidia → Optix or CUDA
- AMD → HIP
- Apple → METAL
あとで詳しく紹介しますが、Nvidia製のGPUをお使いであれば、CUDAよりもOptixの方がレンダリングが高速なのでおススメです。
ただし、お使いのGPUのバージョンによっては対応していない可能性もあるので、その場合はCUDAをお使いください。
また、GPUレンダリングは高速ですが、「ビデオメモリ(DRAM)」の容量の制約を受けます。
DRAM不足でレンダリングが途中でクラッシュしてしまう場合は、CPUのみでのレンダリングを実施してみてください。
レンダリング方法
レンダリング方法は、基本的にはBlender 2.9シリーズのときと同じです。
詳しくはコチラの記事をご覧ください。
ただし、Blender2.9から、以下の初期設定が変更されています。
Blender 2.9の従来Cyclesでのレンダリング(タイル分割あり) | Blender 3.1のCycles Xでのレンダリング(タイル分割なし) |
- タイルサイズのデフォルト値が大きくなり(64px→2048px)、タイル分割なしが前提になった。
- サンプリング数のデフォルト値が大きくなった(128→4096)
おすすめのレンダリング設定については、のちほど紹介します。
Cycles Xと従来Cycles(Blender 2.9)の比較
Cycles Xの、従来Cyclesからの変更点・レンダリング速度の違いについて紹介します。
Cycles X開発の経緯・変更点
詳しくは以下の開発者ブログで紹介されていますが、Cyclesの登場から10年経ち、現行のアーキテクチャのままでは性能改善が困難となってしまいました。
最新のレンダリングアルゴリズムやハードウェアへの対応等の改善のため、アーキテクチャを根本的に見直したリニューアル版Cyclesである「Cycles X」が開発され、Blende3.0に正式版として搭載されることになりました。
2021年12月のBlender 3.0リリース前に、Cycles Xの従来Cyclesからの変更点について開発者ブログで紹介されています。
「GPUパフォーマンスの向上」「デノイズ品質向上」「AMDやAppleデバイスへの対応」などの改善点がありますが、具体的な変更点については「窓の杜」さんのコチラの記事を参照ください。
レンダリング速度の比較
Blender2.93LTEとBlender3.1を使って、従来CyclesとCycles Xのレンダリング速度を比較してみました。
Blender2.93LTEは、Blender公式サイトからダウンロードできます。
比較方法
条件を合わせるために、サンプリング数は128、デノイズはオフにしました。
使用したデバイスは以下で、「CPUのみ」「GPUのみ」「CPU+GPU」で比較しました。
- CPU:Intel Core i5-10400F(6C12T)
- メモリ:32GB
- GPU:Nvidia GeForce RTX3050(8GB RAM)
- OS:Windows 10
また、GPUレンダリングは「CUDA」「Optix」でそれぞれ実施しました。
レンダリング対象は、Blender公式デモファイル「Classroom」を使用しました。
なお、タイルサイズについては、特に設定はいじらずに行いました。
タイルサイズは「レンダープロパティ→パフォーマンス」から確認できますが、今回の「Classroom」の場合、従来Cycles(Blender2.93.8)は32px、Cycles X(Blender3.1.0)では2048pxとなっていました。
(Cycles Xでは、もともとバージョン2.9以前のblendファイルで設定していたタイルサイズは無効になるようです。)
比較結果
レンダリング後に、画面左上に表示されるレンダリング時間を比較しました。
従来Cyclesと、Cycles Xの各デバイス①~⑤のレンダリング時間を、下の表・グラフに掲載しました。
まず①~⑤の最小値(最速データ)同士を比較すると、従来のCyclesでは約1分(59.45秒)かかっていたシーンが、Cycles Xでレンダリングすると約20秒ちょっと(22.04秒)と、約3分の1の時間でレンダリングできました!
また、デバイスごとに比較すると、従来CyclesではGPUとCPUを組み合わせた方が早かったのに対して、Cycles XではGPU単体でレンダリングした方がレンダリングが早く終わるという結果になりました。
おそらくCPUの性能が低く、GPUの足を引っ張ってしまったのではないかと思います。
ちなみに、上の結果のようにCPU単体でレンダリングすると、GPUと比べて最大で10倍以上時間がかかってしまいました。
DRAM不足等でGPUレンダリングできない場合などを除いて、常にGPUレンダリングはONにしておきましょう。
おすすめデバイス・レンダリング設定
Cycles Xでレンダリングするためのおすすめのデバイス・レンダリング設定を紹介します!
GPUレンダリングを使おう!
先ほど紹介したように、CPUと比べてGPUでレンダリングした方が圧倒的に速いのでオススメです!
GPUレンダリングを有効化するには、先ほども書きましたが「編集→プリファレンス→システム」でデバイスを選択します。
Blender 3.1からはApple社製GPUも対応した(Mac iOS向けBlenderでは有効なはず)ので、GPUのチップメーカー別に、以下のデバイスを選択します。
- Nvidia → Optix or CUDA
- AMD → HIP
- Apple → METAL
どのGPUが速い?
速さを重視するなら、現時点ではNvidia社製 RTXシリーズ一択です!
Blender公式のベンチマークアプリ「Blender benchmark」で、Cycles Xを使ったレンダリング速度をスコア化し、デバイスの性能を比較できます。
Blender benchmarkの「Open data」のページで、全世界のユーザーによる、Blender benchmarkのGPU別スコアを見ることができます。
以下はOpen dataのGPU性能ランキング一覧(TOP50+Apple M1 Ultra)です。
緑色がNVIDIA, 赤がAMD, 黄色がApple製のGPUですが、こちらを見るとわかるように上位はNvidia製 RTXシリーズのGPUが独占しています。
それに対して、AMDの最上位のRadeon HD W6800XがNvidiaのミドルクラスであるRTX2060 Superと同程度となっています。
また、Appleの最上位のM1 UltraはNvidiaのローミドルクラスにあたるRTX3050に及ばないなど、同クラスのNvidia製品とは大きく水を開けられています。
ただし、AMD、Apple製GPUに対するCycles Xのサポート開始は比較的最近なので、今後は両社製GPUへの最適化が進み、Nvidiaとの性能差が少なくなるのではないでしょうか。
また、今年はIntel製のGPU「Arc」シリーズが発売予定なので、そちらへの対応も今後期待したいと思います。
サンプリング数を下げてデノイズをONに!
最後に、Cycles Xのオススメのレンダリング設定を紹介します。
先ほど書いたように、デフォルトではサンプリング数は4096となっており、かなりレンダリング時間がかかってしまいます。
「Classroom」の場合、サンプリング数4096, ノイズしきい値0.01でレンダリングしたところ、サンプリング数128では22秒で終わったのが、約15倍の351秒かかってしまいました。
通常のシーンであれば、サンプリング数128(Blender 2.9で標準)で、ノイズ除去のためのデノイズをオンにすれば十分きれいにレンダリングできます。
レンダープロパティ
レンダリング結果(サンプル128, デノイズON(Optix))
ただし、間接光が多いシーンなどノイズが目立つようであれば、サンプリング数を増やしてみてください。
デノイズについて、詳しくはこちらの記事を参照ください。
まとめ
Blender 3.0/3.1で大幅進化を遂げた、標準レンダラー「Cycles X」について紹介してみましたが、いかがでしたでしょうか?
今回紹介した設定さえすれば、Blender2.9以前のバージョンと比べてレンダリングがすごく速くなるので、ぜひ参考にしてみてください!
最後に、今回のまとめです。
- Cycles Xの使い方
- ダウンロード方法:最新版のBlender 3.1をダウンロードしよう!
- デバイスの設定:「編集→プリファレンス→システム」
- レンダリング方法:基本的には従来Cyclesと同じ。
- Cycles XとBlender 2.9版Cyclesの比較
- Cycles X開発の経緯・変更点
- レンダリング速度の比較:従来Cyclesの3倍速い!
- おすすめデバイス・レンダリング設定
- GPUレンダリングを使おう!:Nvidia, AMD, Apple各社製GPUに対応!
- どのGPUが速い?:現時点ではNvidia RTXシリーズが速くておススメ
- サンプリング数を下げてデノイズをONに!:基本的にサンプリング数128+レンダーデノイズでOK!