Reality その5:32bitWindowsでの運用

Category : Reality
このブログでは『Reality 1.0 for DAZ Studio』プラグインおよびLuxRenderの記事を書くのに、当然のように自分の64bitWindows環境での作業をしてきました。製品ページでも案内されているように、LuxRenderの使用には64bit環境が推奨されています。Windows7が発売されてから、大手メーカーのPCのプリインストールOSにも64bit版を採用するケースが増えてきたりもしましたが、まだまだ32bit環境を使っているという方も多いと思います。
32bitWindows環境で何が不利かと言うと、次の2つが挙げられます。

 ・メモリを最大4GBしか認識しません(実効は3GB~3.5GB)。
 ・1つのアプリケーションが使えるメモリは最大2GBです。

LuxRenderはメモリ上にジオメトリやテクスチャなどのすべてのデータを置かなければいけないようで、この制限がかかった環境では十分な性能を発揮できないのです。
今回は32bit環境でどのくらい複雑なシーンが作れるのかを検証してみました。

Reality5 SS

※オブジェクトを隠した時の動作について追記しました。

■検証する環境

私のサブマシンのスペックは次の通りです。

 OS    : WindowsXP 32bit
 CPU   : AMD AthlonII X4 620 (4コア2.6GHz)
 Memory : 4GB (実効3.25GB)
 Graphic : Radeon HD5450 512MB

これに一時的にDAZ Studio(以下DS)をインストールして検証を行います。
検証には、Realityプラグインで表示されるマテリアル数と、出力されるマテリアルファイル(lxm)とジオメトリファイル(lxo)の容量、そしてタスクマネージャで表示されるluxrenderプロセスのメモリ使用量を比較します。

常駐アプリケーションのみ起動している状態で、サブマシンには約2.2GBほどのフリーエリアがあります。
もし、メモリが足りなくてLuxRenderが動作不能に陥った場合は、次のようなエラーメッセージが出ます。
Reality5 Luxランタイムエラー

この状態で止まってしまった場合は、メモリ使用量の欄にエラーと記載します。


■フィギュアでの検証

まずはフィギュア1体をレンダリングする状況を考えてみました。

(A)V4を呼び出した時の状態(Sampleテクスチャ)でレンダリング
 マテリアル数:29
 lxm:19KB
 lxo:8,052KB
 メモリ使用量:165,064KB

(B)(A)にキャラクターモーフを適用
 マテリアル数:29
 lxm:19KB
 lxo:8,054KB
 メモリ使用量:164,456KB

(C)(B)にキャラクターマテリアルを適用(Diffuse、Bump、Specularに4000*4000pixelsのテクスチャ)
 マテリアル数:29
 lxm:43KB
 lxo:8,057KB
 メモリ使用量:976,668KBでエラー

ここでもうレンダリング不能になってしまいました。

(D)(C)の口腔内パーツを隠す
 マテリアル数:29
 lxm:43KB
 lxo:6,715KB
 メモリ使用量:904,876KB(DSを終了すればレンダリング可能)

(E)(D)に使用しているテクスチャを1000*1000pixelsまで縮小
 マテリアル数:29
 lxm:43KB
 lxo:6,715KB
 メモリ使用量:225,852KB

ここまでで分かる事は、
 ・インジェクションモーフやキャラクターモーフの量はlxoファイルの容量に影響しない(DSのメモリ使用量は増える)。
 ・テクスチャの解像度がLuxRenderのメモリ使用量に大きく影響する。
という事です。

ログにテクスチャのメモリ占有量は表示されますので、それを書き出してみました。

 テクスチャサイズ  メモリ占有量 
1000*1000pixels2,929KB
2000*2000pixels11,718KB
4000*4000pixels46,875KB

メモリに展開される時に生データに変換されるようで、容量は解像度に比例します。テクスチャサイズを縮小するとLuxRenderのメモリ使用量が激減したのもうなずける数値ですね。
フィギュアのメイクアップ(化粧)MATポーズの適用を避けるのもテクスチャ量削減のポイントです。メイクアップには大抵唇と顔面で別のテクスチャを使ったりしますので、その分テクスチャ使用量が増えてしまいます。

スペキュラマップなどを剥がすのには、必ずDSのSurfacesタブで行って下さい。現在の仕様では、RealityプラグインはLuxマテリアルのテクスチャ欄が空白になっていてDSではテクスチャが貼られている場合に、それを読み込み直すようになっています。そのためLuxマテリアルの方だけでテクスチャを削除しても、Realityプラグインを起動するタイミングでそれが復活します。


■背景プロップでの検証

室内セットBaroque Grandeurを使って検証してみました。このセットは壁(窓、天井、床含む)やテーブル、絨毯などを別々に読み込むことができます。それを順番に読み込んでいくことで、限界を探ってみました。

(A)Walls(壁、窓、天井、床)のみ
 マテリアル数:68
 lxm:62KB
 lxo:19,540KB
 メモリ使用量:1,435,120KB

(B)(A)にTables(ディナーテーブル2脚と椅子16脚)を追加
 マテリアル数:126
 lxm:122KB
 lxo:54,154KB
 メモリ使用量:1,642,728KBでエラー

(C)(A)のテクスチャを25%に縮小
 マテリアル数:68
 lxm:62KB
 lxo:19,540KB
 メモリ使用量:390,116KB

(D)(C)にTablesとSilde L(絨毯とシャンデリアと燭台)を追加
 マテリアル数:170
 lxm:160KB
 lxo:71,888KB
 メモリ使用量:667,780KBでエラー

こちらはまた判別が難しい結果になってしまいました。テクスチャ縮小の効果は出てはいるのですが、(D)の結果を見るとジオメトリの容量(オブジェクトのメッシュの複雑さ)にも上限がありそうな感じです。また、Realityプラグインからの出力時に止まってしまう状況も稀にありました。


■32bitWindows環境での運用法

32bitWindows環境でLuxRenderを使っていく際のポイントをまとめます。

 ・DSや他のアプリケーションを終了させる。
 ・カメラの視野に入らないオブジェクトをレンダリングに影響が出ない範囲で隠す。
 ・使わないマテリアルはタイプをNullにしてしまう。
 ・テクスチャの解像度縮小や、バンプやスペキュラテクスチャ削除で、テクスチャのメモリ占有量を減らす。
 ・大量のマテリアルや複雑なメッシュオブジェクトもなるべく避ける。

※DSのSceneタブで非表示にしたオブジェクトのジオメトリは出力されませんのでlxoファイルの容量を減らすことができますが、マテリアルデータは残るのでそのマテリアルタイプをNullにしない限りテクスチャは読み込まれます。

正直なところ制限だらけになってしまいますが、髪と服を着用させたフィギュア(スペキュラテクスチャなし)1体と簡素な背景ぐらいなら、普通にレンダリングが可能です。それぞれに使われているテクスチャの量に拠りますが。
フィギュアに使われているテクスチャを縮小してやれば、さらに自由度は増します。髪と服はどれをチョイスしても大丈夫になるでしょう。

本格的にLuxRenderを使っていくにはどうしても64bit環境に移行する必要が出てきます。ちなみに、今回の検証で使ったシーンはすべて64bit版ではすんなりとレンダリングできます。
代替案としては、LuxRenderにはLinux版もありますので、CPUが64bit命令に対応していてメモリも十分にあれば、無料の64bitLinux環境を構築するという手も考えられます。しかしその場合は、DSにはLinux版が無いのでRelityプラグインが出力したファイルをLinuxへ持って行きレンダリングするという手間はかかってしまいます(環境によってはlxmファイルのテクスチャパスを書き換える必要もあるでしょう)。

最後に、フィギュアの検証の項目で使ったシーンを仕上げました。
キャラクターのテクスチャには1000*1000pixelsに縮小したものを使っていますが、600*800pixelsというレンダリング解像度とこのカメラからの距離で、高解像度テクスチャと比べてもそんなに遜色はないです。
また、今回はメインマシンとして使っているPCをスレイブとしてネットワークレンダリングを行ってみました。マスターとして使用するよりもスレイブとして使用する方がメモリ制限が厳しいという感触なのですが、今回はスレイブが64bit環境の上性能に余裕があるので気にする必要がありません。S/sとTotS/sを比べると、マスター(サブマシン)単体でレンダリングするよりも約3倍の速度が出ていました。

くりっと目 上半身みせ

Character:Saki
Hair:DejaVu Hair
Costume:Frangipani Dress for V4 , Frangipani Dress Textures , Topmodel Kit 2 for V4
Renderer:LuxRender through Reality plugin




今回のツールと画像の素材はこちら
AD Reality 2 for DAZ Studio
Reality 2 for DAZ Studio


Saki

Frangipani Dress for V4

Frangipani Dress Textures

Baroque Grandeur

AD DejaVu Hair
DejaVu Hair
AD Topmodel Kit 2 for V4
Topmodel Kit 2 for V4




Comment

非公開コメント

著書
カレンダー
04 | 2017/05 | 06
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 - - -
検索フォーム
プロフィール

Kotozone

Author:Kotozone
製品の取扱説明書を読むのが大好きです

FC2ブックマーク
最新記事
カテゴリ
タグリスト

DSプラグイン V4 マテリアル DSシェーダ ライト DS基本 セール Genesis IBL アニメーション タブ解説 iray LuxRender Genesis2 スクリプト ダイナミッククロス ShaderMixer セットアップ Download レタッチ トゥーン カスタマイズ SSS バージョンアップ Photoshop ウェイトマップ NGM D-Form ERC ファー Miki2 IDL M4 大気 物理シミュレーション ボリューム Terrain パーティクル カラーコレクション Genesis3 モーフセット インスタンス アナグリフ V5 カメラ ロボット RAMDisk ダイナミックヘア Hexagon GIMP 3Dプリント SLG モーションキャプチャ Python K4 Linux 日本語訳 

最新コメント
リンク
月別アーカイブ
ご意見ご感想はこちらに

名前:
メール: 
件名:
本文: 

ブロとも申請フォーム

この人とブロともになる

最新トラックバック
FC2カウンター