Blender(ブレンダー)で「GPUレンダリング」ができない原因と対処法
Blender(ブレンダー)は無料の3Dモデリングソフトで、初心者にも導入しやすいソフトです。
機能も多彩で「GPUレンダリング」にも対応していますが、いざ実行してみても上手くいかないこともしばしば。
この記事では、BlenderのGPUレンダリングの方法と、トラブルが起きたときの対処法を解説します。
Blender(ブレンダー)のGPUレンダリング
GPUとはGraphics Processing Unit(画像処理演算装置)の略で、グラフィックカードとも呼ばれます。
コンピュータのビジュアル面の演算を行う装置ですが、非常に高度な計算能力を持っているため、レンダリングなどの作業に使用すると高速化が期待できます。
BlenderのGPUレンダリングには事前準備が必要で、初期設定のままではGPUレンダリングをすることはできません。
GPUレンダリングを行う前に必ず確認するべき項目が「レンダラー」です。
GPUレンダリングが使えるレンダラーは「Cycles」
「レンダラー」は「レンダーエンジン」とも呼ばれ、レンダリングする際に活躍します。
レンダリングの出来栄えに関わる設定で、Blenderでは次の3つの標準搭載レンダラーから1つを選択します。
Eevee
EeveeはBlender標準搭載のレンダラーで高速レンダリングが特徴です。
ゲームなどのリアルタイムアニメーションで採用されているシステムを用いており、スピーディなレンダリングが可能です。
Cycles
CyclesはEeveeと同じくBlender標準搭載レンダラーの1つで、パストレーシング (Path Tracing)法というレンダリング手法を用いています。
パストレーシングは物理ベースで正確なレンダリング手法であるため、より現実世界の視界に近い画像を出力できます。
一方で、「Eevee」と比較して計算時間が長くかかります。
Workbench
Workbenchは3Dビューとほとんど変わらないレンダリングができます。
公式マニュアルでは「プロジェクトの最終的な画像をレンダリングするレンダリングエンジンを意図したものではありません(英語訳)」と書かれており、あくまで作業効率化のために用意されているレンダラーです。
この3つのうち、GPUレンダリングが可能なのは「Cycles」です。
「BlenderのGPUレンダリング」=「Cycles」ということは覚えておきましょう。
GPUレンダリングの操作方法
はじめに、画面上部のメニューツールバーから「編集」→「プリファレンス」をクリックします。
ポップアップしたウィンドウのメニューのうち「システム」を選択します。
すると、「Cyclesレンダーデバイス」というメニューが現れます。
ウィンドウ上部にある「CUDA」「OptiX」「OpenCL」という項目のうち、PCに搭載されているGPUの種類に合ったものを選びます。
NVIDIA製のGPUが搭載されていれば「CUDA」か「OptiX」を、AMD製かIntel製のGPUであれば「OpenCL」を選択すれば大丈夫です。
次に、レンダラーからGPUレンダリングを実行します。
サイドメニューのレンダリング設定画面上で「レンダーエンジン」をCyclesに設定します。
すると「デバイス」というプルダウンメニューが現れるので、そこから「GPU演算」を選択してください。
なお、「Cyclesレンダーデバイス」の設定がおかしいと、下の画面のように「GPU演算」が選択できません。
。
このような画面になった場合は、もう一度「Cyclesレンダーデバイス」に戻って、PCに搭載されているGPUと適合するレンダーデバイスを選択してください。
GPU演算が選択できれば、準備は完了です。
後は「レンダー」メニューからレンダリングを選択するか、「F12」を押してレンダリングを実行しましょう。
BlenderでGPUレンダリングを使うべき場面
GPUレンダリングは、CPUレンダリングよりも高速にレンダリングができる場合があります。
複雑な3Dモデルのレンダリングであれば、CPUレンダリングよりもGPUレンダリングの方が十倍以上早くなることもあります。
ただし、高速なGPUレンダリングには、GPUがある程度高性能であることが求められます。
近年のゲーミングPC、クリエイティブPCと呼ばれるようなデスクトップPCはGPUの性能が良いので、GPUレンダリングの方が高速です。
一方で、GPUの性能次第ではCPUレンダリングの方が早くなることもあるため、GPUレンダリングを行う前に自分のPCスペックを一度確認した方が良いかもしれません。
GPUレンダリングができない・おかしいときの対策法
以上のようなGPUレンダリング設定を行っても、レンダリングが上手くいかないこともあると思います。
この項目ではGPUレンダリングができない・おかしいときの対策について紹介します。
Blenderで使用できるGPUを使う
Blenderで使用できるGPUは、公式マニュアル(英語)で指定されています。
「Cyclesレンダーデバイス」ごとに対応しているGPU製品は決まっています。
NVIDIA製GPU対応
- CUDA:compute capability 第3.0世代以降のGPU
- OptiX:compute capability 第5.0世代以降のGPU
CUDAとOptiXはNVIDIA製のGPUに対応しています。
compute capability(CC)とはNVIDIA製品のバージョン番号に相当します。
CUDAとOptiXで必要となるcompute capabilityが異なるので注意してください。
CUDAならば、ここ10年くらいに製造されたNVIDIA製のGPUならおそらく大丈夫でしょう。
OptiXは少し新しいため、型番でいうとGeForce GTX 750番以上が必要です。
ちなみ、2021年時点最新のGeForce RTX 3000番台のcompute capability(CC)は第8.6世代に相当します。
NVIDIA製GPU:CUDA対応製品リストでNVIDIA製のGPUがCUDAに対応しているかどうかが確認できるので、ぜひご活用ください。
AMD製GPU / Intel製GPU対応
- OpenCL
- AMD製:Graphics Core Next(GCN) 第2世代以降のGPU
- Intel製:Intel Iris もしくはIntel Iris Xe
OpenCLはAMD製とIntel製のGPUに対応しています。
AMD製であれば、Graphics Core Next(GCN) 第2世代以降が必要です。
GCN第2世代は2013年ごろから販売されているようですので、それ以降に製造されたPCならば問題ないでしょう。
AMD製GPUのGCN世代に関しては、AMD製GPU:GCN世代リストから確認できますので、対応GPUかどうか確認してください。
IntelのGPUはほとんどがノートパソコンに搭載されています。
Intel製CPUが内蔵されているノートパソコンには、Intel製GPUを搭載していることがあります。
なお、Blenderで使用できるIntel製のGPUはIrisシリーズもしくは2021年現在最新のIris Xeシリーズです。
GPUレンダリングの設定はよく確認する
GPUレンダリングの際、レンダリングの設定はよく確認しておきましょう。
単純にCyclesのレンダリング設定の問題で上手くいかない可能性があります。
Cyclesの設定に関する情報が掲載されている当サイトの記事を参考にしてみてください。
GPUレンダリング中はBlenderを操作しない
GPUレンダリング中は、Blenderを操作してはなりません。
GPUレンダリング中にBlnderを操作すると余計な負荷がかかるからです。
GPUはグラフィックスの計算を行うPCパーツですので、普段はディスプレイの表示のための計算をしています。
ブラウザを動かしたり、動画を流したりといった計算はGPUが行っています。
さらに、Blenderの操作画面自体もGPUが計算を行っています。
Blenderのような3D画面の表示には、ブラウザや動画などの画面を表示するよりも高い負荷がGPUにかかります。
実際に、BlenderでGPUレンダリングを実行中にBlenderを操作した場合のGPUパフォーマンスを計測してみました。
グラフの左端でGPU演算(GPUレンダリング)を開始し、しばらく放置しました。
緑の矢印で示した範囲では、GPUの負荷が20%~40%を前後しています。
つまり、何も操作しない状態でもGPUレンダリング中はそこそこの負荷がかかっていることになります。
GPUの負荷が落ち着いてきたタイミングで、3Dビュー上でオブジェクトを操作してみました。
すると、グラフの赤の矢印で示した範囲のように、負荷が急激に上昇しました。
負荷の最高値は90%を超えています。
このように、GPUレンダリング中にBlenderを操作してしまうとGPUに高い負荷がかかることがわかります。
GPUは消耗品ですので、高い負荷をかけ続けると故障の原因になります。
GPUは数万の価値がある高価なパーツですので、無駄な消耗は避けるのが得策です。
BlenderのGPUレンダリング中には、できるだけ何も操作せずに待機することを心掛けましょう。
ちなみに、複数のGPUを搭載していれば、1つはレンダリングに、1つは画面表示にといった設定をすることで、GPUレンダリング中でもBlenderの操作をすることができます。
エラーメッセージに対しては公式マニュアルを参照する
エラーメッセージが表示され、GPUレンダリングがうまくいかないことがあります。
その場合は、公式マニュアルに解決のヒントが載っているかもしれません。
GPUのスペックを上げる
GPUレンダリングの計算能力は、GPUのスペックに依存します。
そのため、スペックが不足している場合はうまくいきません。
市販のPCのGPUは「ネットサーフィンができれば良い」程度の性能しかないこともあり、3Dモデリングには向いていません。
スペック不足のGPUでも強引にGPUレンダリングを実行することは可能ですが、負荷がかかりすぎてクラッシュする危険性すらあります。
解決方法は単純に「GPUのスペックを上げる」ことです。
性能の良いGPUと交換する、もしくはGPUを複数搭載することでスペック不足を緩和しましょう。
GPUのスペック不足への簡単な対策法
GPU交換にはPCパーツを取り扱う知識が必要です。GPUは高性能なものになるほどサイズが大きくなるので、自前のPCではサイズが合わないかもしれません。
また、ノートPCをお使いの場合はそもそもGPUの交換ができないので、外付けGPU等を使用することになりますが、これもサイズが大きいのでノートPCの携帯性が失われます。
GPUスペックが不足しているが、早急に対応したいという場合は、「クラウドレンダーファーム」という対策があります、
クラウドレンダーファームを検討する
クラウドレンダーファームはネットを利用して外部マシンのGPUを借り、GPUレンダリングを行うことを示します。
簡単に言うとGPUの外部レンタルです。
ネットが繋がっていれば、低コストで高性能なGPUレンダリングができます。
Render PoolでのGPUレンダリング
当社が運営するクラウドレンダーファーム「Render Pool」では、AMD製の高性能GPUを用いるため高速なGPUレンダリングが可能です。
AMD製のGPUのため、必然的にOpenCLベースのレンダリングになります。
1分あたり約6円でAMD Radeon™ RX Vega56クラスのGPUレンダリングが可能です。
また、Radeon ProRenderというレンダラーならば1分あたり約3円と格安で利用できます。
AMD Radeon™ RX Vega56はGCN第5世代で、AMD製GPUの中でも最先端のアーキテクチャを誇ります。
したがって、Render PoolでのGPUレンダリングは高性能PCと遜色ない速度が期待できます。
まとめ
Blender(ブレンダー)のGPUレンダリングの設定は簡単です。
お使いのPCのGPUがBlenderに対応していて、GPU性能が充分ならばすぐにでも実行可能です。
ほとんどの不具合は「Cyclesレンダーデバイス」の設定変更を行うか、GPUスペックに合わせたレンダリング設定に変更することで改善する可能性が高いです。
それでもうまくいかない場合はスペック不足の可能性があるので、GPUの新調や、クラウドレンダーファームのご利用を検討してみてください。