見出し画像

Linux + MacでBlender連動

簡易ネットワークレンダリングにトライ

Blenderのレンダリング作業中はCPUとGPUの負荷がマックスになり他の作業が出来ません。それを解消するために、時間のかかるレンダリング作業は他のマシンにもさせる、という環境を構築することにしました。

読み進める前にまず結果を言いますと、

・処理速度が違うPC同士では厳しい
・作業分担して一方のマシンをレンダリング専用機として使うならアリ

ネットワークレンダリングとは言っても個人用途のホーム制作環境構築です。レンダーファームなどのようなクラスターを組むわけではありません。
「同じレンダリング作業をネットワークを介して別のマシンにも処理させる」
という簡易ネットワークレンダリングです。

幸い、Blenderはそれを想定した機能が備わっています。ネットワークを介して複数台で同じデータをレンダリングすることが出来ます。いや素晴らしいですね>Blender。

LinuxとMacを連動

連動は別にMacでもWindows機でも良いです。私の場合Windows環境はLinuxと同一マシン内の「万が一の時に起動するサブシステム状態」になってしまっています。なので、LinuxとMacで組んでみることにしました。Linux側がメイン機なのでサーバー、Mac側はクライアントとしてネットワークを介してファイルにアクセスさせる環境にします。

Linuxのファイルサーバー設定
Linux側でファイルサーバー環境を構築するにはちょいと一手間かかります。以下、やったことの手順を書いてみます。

(※重要ポイント)WindowsやMacと違い、Linuxは

OSのユーザーアカウントとサーバーのユーザーアカウントは別扱い

です。そのため、ネットワークに現れたサーバーマシンにOSユーザーの名前とパスワードを入れて簡単ポン、とはいきません。サーバーソフトでサーバーのユーザーを登録・管理します。

(ステップ1)
サーバーソフト「Samba」をインストールし、サーバーを起動します。

~$ sudo apt-get install samba
~$ service smbd restart

(ステップ2)
Sambaユーザーとパスワードを登録。ユーザー名を指定するとパスワードを2回求められるので、入力。「Added user (ユーザー名)」と表示されたら成功。ここでの(ユーザー名)はOSユーザー名と同じにしておきます。

~$ sudo smbpasswd -a (ユーザー名)
[sudo] password for (ユーザー名): 
New SMB password:
Retype new SMB password:
Added user (ユーザー名).

念の為ホスト名とIPアドレスを以下のコマンドでチェック。

~$ hostname
~$ ip -4 address

以上でサーバーの設定は完了。

(ステップ3)
Linux側で共有したいフォルダを選択>右クリック>「ローカルネットワークフ共有」で共有を有効にすることでファイル共有が可能になります。このようなアイコンがつくとOKです(↓)。

画像2

これでクライアント側PC(MacやWindows)からファイル共有出来るようになりました。

ネットワークレンダリングのイメージ図

上で共有設定した「Documents」フォルダに共有したいBlenderファイルを入れておき、Mac側でBlenderを立ち上げて「Documents」フォルダにアクセスしてファイルを開きます(ここでは「Penguin.blend」というファイル)。

これをMac側でレンダリングするわけですが、書き出し先を同じフォルダにしておくことでレンダリングを複数マシンで行う事が可能になります。
イメージはこういう感じです。↓

画像2

注意点

・Blenderのバージョン・アドオン環境を同じにする。

結果と問題点

連動は出来ましたが・・・

「Mac miniが全くついていかずLinuxマシンがとっとと仕事を片付けて終了」

という笑える結果となってしまいました。(苦笑)実際試してみてわかった事は、

「PCの性能が違いすぎると連動しづらい」

ということでした。なによりもまず一番の問題点はこれかもしれません。LinuxマシンはRyzen CPUとGeforceRTX GPUを積んでおり、GPUオンのレンダリングです。これがあまりに早すぎて6コアのCore i7と言えど内蔵GPUしかもたないMac miniはまったくもって追いつかないのです。

体感的にはMac miniがのんびりと1フレームレンダリングしている間にRyzenマシンはもう3フレームくらい終わっている、という感じです。なのでMac miniが完全に連動の足を引っ張ってしまい、仕事に全く貢献しないままRyzenマシンが仕事を終えてしまう、という感じになりました。

連動するならある程度同じくらいの処理速度のマシンでないと厳しいと感じました。

まとめ

処理速度の差の問題があり、結局連動レンダリングではなく

「Linux側でメイン作業。その間ヒマしてるMacにレンダリングさせる」

という感じで作業分担させるのが現時点での落とし所となりました。

ただ、色々な可能性が見えた実験ではありました。
・使い古したPCにLinuxを入れてBlenderレンダリング専用機にする
・複数台繋げて簡易クラスター的に連動させる
という使い方も考えられます。
もう少し早いサブマシンを組んだ暁には連動レンダリングに再トライしてみようと思います。

この記事が気に入ったらサポートをしてみませんか?