レンダリング終了
やっと終わりました…。(リテイクが出ればまたやりますが)
ここ2週間ほどは Lightwave3D のネットレンダー(ScreamerNetII) の世話で疲れたとです…。
Lightwave3D のネットワークレンダリングは、共有されたファイルを通じてレンダリングの指示を出す、という大雑把な方式のため、
- job ファイル、ack ファイルを上書きしてイタズラし放題(しませんが)
- スレイブ側が途中で落ちてても自動で回復する術がなくほったらかし
- レンダリングの途中で後からスレイブPCを参加させることができない。(いったんレンダリングを止めて、仕掛け直す必要がある)
- 一度立ち上げたスレイブは終了指示がくるまではずっと立ち上がったままなので、メモリーリークとおぼしきメモリ消費がどんどん増加していき、そのうちスワッピングが始まってレンダリング速度が極端に低下
- 途中でエラーが出ていても何事もなかったかのように続行するので、後からレンダリング結果の画像を通しで目視確認して、問題がないかどうか確認する作業が必須
といったように、実際の運用に相当手がかかる仕組みになっているように思います。
おかげで夜だろうが休日だろうが、レンダリング状況を確認して、落ちてたら仕掛けなおし…という状況でした。まあ、VNCがなかったら職場で泊まり込み必須だったかも知れませんね…。
それにくらべると、AnimationMaster のネットレンダーは本当によくできてるように思います。UI の落ちやすさに比べたらまさに奇跡的とでもいいましょうか(^^;)。
スレイブ側のプログラムには以下の2種類があり、
それぞれが互いに独立した別プログラムになっているので、担当してるプロジェクトファイルのレンダリングが終わったらレンダースレイブのプロセスごときれいさっぱり忘れてくれるので、メモリリークなどの影響は1カットの範囲で留まります。
レンダースレイブが落ちた・ユーザーが強制終了した、あらたにスレイブが増えたなどの情報はレンダーメッセンジャーがちゃんと拾って逐次サーバーに報告するので、非常に状況の把握が容易で、とても使いやすかったです。