Blender

Blenderでレンダリングを外部サーバでやってみた(RebusFarm, GCP)

More than 1 year has passed since last update.

自宅の一番パワーのあるPCがCorei7-6700k+GeForce-750Tiという組み合わせなのですが、ある程度までモデリングしたものをCyclesで24サンプル(プリセットFinal)程度でレンダリングしても、数分はかかります。

サンプリング数上げたり解像度をHDレベルまで上げると10分とか当たり前にかかるのですが、その間PCが負荷100%になって使いにくくなるし、アニメーションで30フレームくらいレンダリングすると数時間かかってしまいます。

ならば、レンダリングは外でやってしまおうとクラウドサーバを使ってレンダリングすることにしてみました。あと、レンダーファームというサービスもこれを機会に試してみることに。

普段はFedora(ノートPC)使いですが、今回はパワーのあるWindows(デスクトップ)と速度比較しながらやったので、作業はWindowsでの記録となります。

忙しい人のための結論

先日作ったクリッサちゃんのレンダリングでの速度比較です
image.png

環境 時間 コスト
PC(Corei7-6700k) 5分 0.6円(電気代)
PC(GeForce-750Ti) 3分半 0.4円(電気代)
GCP(g1-small) 1時間半 5.3円
GCP(n1-highcpu-8) 5分 3.3円
(10分以下切り上げなので実質6.6円)
RebusFarm(10台:Trial) 8分 20円
RebusFarm(100台) 数秒 20円

※RebusFarmはTrialの状態だと台数が10台までとなり、画像にウォーターマークが付きます。1ユーロでも課金すれば正規版になり100台レンダリングでウォーターマークが消えます。
※RebusFarmのレンダリングプライオリティは最低(最安)の状態で実験しています。プライオリティを2段階上げてみると、速度2倍お値段4倍になりました。
※GCPはレンダリング時間のみの金額です。停止させるの忘れると、ずっと課金が続きます。

使い方

RebusFarm編

・RebusFarmのサイトでアカウントを作成する。アカウント作成すると10ユーロ分のレンダリングチケットがもらえる。
 ※ただし、課金するまではトライアルモード

・RebusFarmのサイトよりRebusDropというアプリをダウンロードしインストール。対応3DCGソフトが入っていれば、プラグインが自動で導入される(手動設定もできる)。下はRebusDrop導入後のBlenderの画面。
image.png

・タスクバーにRebusDropを常駐させておく(サインインもしておく)
 ※何回も実行すると複数立ち上がるので注意

・レンダリングしたいファイルを読み込んで、プラグインのUploadボタンを押すだけ。出力設定やレンダリング設定等は済ませておくこと。静止画ならスタートフレーム・エンドフレームの設定大切。他にもいくつかの制限がある。
制限:
 1.FreeStyleが分散レンダリングに対応していないので使えない(FreeStyleのチェックを外しておく)
 2.テクスチャに.pngが使えない。フォーマットも1種類のみとのことで、事実上.jpgのみ(tgaもいける?)
 3.Uploadする前にファイルを保存しておく必要がある(以前Uploadしたファイル名と被らないように)
 ※制限に引っかかるかどうかはSmartcheckボタンを押せば調べてくれます(Upload時にも自動で実行される)

・Uploadが終われば、もうBlenderを落としても問題ない

・ブラウザでControlCenterを開き、JobPriorityを決めてレンダリング実行ボタンを押す。

・レンダリングが終わればPCに自動でダウンロードされる。RebusDropのOpenDownloadFolderメニューを選択すれば、レンダリングされた画像が入ってるフォルダが開く。

GCP編

・ComputeEngineでお好みのインスタンスを立てる

・aptではBlenderが入らないので、Linux用Blenderの.tar.bzを展開して使用する。ブラウザコンソールのファイル送信は非常に遅いので、できればどこかに.tar.bzファイルを置いてwgetで拾った方が圧倒的に早い。展開用にaptでbzip2を入れておくこと。

・Blenderの実行に必要なライブラリの導入。libGLU,libXi,libXrenderが必要なので、aptでlibglut1-mesa,libxi6,libxrender1をインストールする。これでBlenderを-bオプションをつけてバッチ実行すれば/dev/dsp(音声)で警告がでるが実行はできる。

・レンダリングする.blendファイルとテクスチャをzipなりで固めてブラウザコンソールから送信。aptでunzipなり入れて展開する。.blendには出力先が正しく設定されていること。

・-bと-fオプションを設定して実行する。アニメーションとかさせないなら
 # Blenderを展開したディレクトリ/blender -b [.blendファイル] -f 1
とすればレンダリングが始まる

・レンダリングが終わったら画像ファイルをブラウザコンソールからダウンロードする。

・ComputeEngineをとっとと止める(重要)

雑感

GCPだと確かに安いのですが、レンダリングが終わった後にファイルを転送してシャットダウンするようにしないと、忘れて1日放置とかしちゃったら1000円とかかかって無事死亡します。1ヶ月だと3万円。
課金アラート、大切(:3」∠)

RebusFarmはトライアル使って遅いと誤認しそうですが、課金すれば10倍速になるので実はかなり速いです。0.01ユーロからの課金で課金効率も悪くないので、大物のレンダリングは速度的にも使っていきたいところです。ただしアニメーションまでさせると早く終る代わりに高くつきそうです。
あと、FreeStyleをPCで出力して合成する手間が残念です(´・ω・`)