2009年10月3日土曜日

LuxRenderでネットワークレンダリング


↑こんな画像をプリセットD(Anim - Distributed/GI high Q)でレンダしてみた

マテリアルやライトは
 金平糖みたいなの:mattetranslucent
 床:matte
 ライト:lampspectrum -> Paraffin Candle Frame

結果は
 ローカルマシンでレンダリング:33min
 ネットワークレンダリング:22min

分散処理でレンダ時間は2/3に削減。
たいしたスペックでもないマシンの寄せ集めでこれくらい効果が出るならいいかも。
今回は分単位の処理時間だけど3時間が2時間になると考えればとても助かる。

ファーム構成はこんな感じ
 ローカルマシン:OSX 10.5、 Core Duo 2GHz、RAM 2GB
 レンダサーバ 1:Ubuntu 9.04 64bit、Atom330、RAM 1GB
 レンダサーバ 2:Vista 32bit、Core2 Duo 2GHz、RAM 3GB

ネットワークレンダリングでもローカルマシンもレンダリングに参加するので
3台のマシンで処理が分散される。

ログを見てみるとサーバのフォトンやピクセルの処理状況はサーバ1:サーバ2で
 1:2〜1:2.5くらいの分担でタスクが割り振られてる様子。
ローカルマシンのタスク受け持ち状況の数字がログにはでてないので
おおざっぱに結果の処理時間を比較から、全タスクを100とすると

ローカルマシン:50+タスク全体の管理
 レンダサーバ 1:17
 レンダサーバ 2:33

くらいで処理が分散されている感じ?サーバ1が意外にがんばってるなー

ハマったところとかメモとか
 ・ネットワークアドレスはカンマ区切り。それ以外の文字が入るとエラー。
  192.168.0.1, 192.168.0.2みたいにカンマの後にスペースが入ってもだめ。

 ・ローカルマシンのスレッドを制限した状態でタスクをスタートさせるには
  System -> THREADS: -> Auto Detectをoff、threads:にスレッド数を指定