Irayレンダリングのためのビデオカード選び その3

Category : Iray Renderer
だんだんとタイトルから離れていってますが、DAZ StudioのIrayレンダラーを使った時のメモリ使用量とレンダリング時間について、今回も調査を続けていきます。

今回はテクスチャ圧縮、プログレッシブ・レンダリングの2本、そしておまけのレンダリングサイズについての全部で3本立てです。

Iraycard2 SS


■テクスチャ圧縮の効果

Irayレンダラーではテクスチャ画像を圧縮してメモリ使用量を削減する仕組みが組み込まれていて、初期設定ではほとんど全てのテクスチャ画像が圧縮されるようになっています。
その圧縮によるメモリ使用量の削減と、レンダリング画像に及ぼす影響を調査してみました。

DAZで販売されている商品(特にフィギュア)に使われているテクスチャ画像のサイズは一辺4000ピクセルまたは4096ピクセルの正方形が一般的です。
Irayレンダラーの設定(Render SettingsタブのAdvancedページ)ではMedium Compression(中圧縮)、High Compression(高圧縮)の2種類の圧縮レベルがあり、それぞれの閾値は初期設定ではそれぞれ512ピクセル、1024ピクセルとなっています(数値より一辺が大きいサイズのテクスチャ画像が圧縮の対象になります)。

Irayビデオカード選び3 テクスチャ圧縮設定

まずはメモリ使用量とレンダリング時間について見てみましょう。
裸のフィギュア(使用されているテクスチャは2048*2048ピクセルが5枚、4096*4096ピクセルが9枚です)をレンダリングした場合次のようになりました。
 メインメモリビデオメモリレンダリング時間
高圧縮1523MB1363MB11分2秒
中圧縮1552MB1382MB10分57秒
無圧縮1934MB1745MB10分42秒

無圧縮の状態だとかなりの量のメモリがテクスチャに使われていることがわかります。圧縮によるメモリ使用量の削減効果はかなり大きいですね。レンダリング時間は圧縮にかかる時間なのでしょうか、無圧縮と比べて十数秒の差が出ます。
「iray dev blog」によると、メモリ使用量は中圧縮で32%、高圧縮で29%まで下がり、テクスチャサイズを縮小するよりも画質の劣化が抑えられるとあります。

続いてはレンダリング画像に圧縮による画質の劣化は判別できるかどうかです。

Irayビデオカード選び3 圧縮による画像劣化
※画像のクリックで元のサイズで表示します。

圧縮による画質の劣化が現れやすい赤色の服の部分は、結構劣化しているのがわかります。肌も含めそれ以外は差がわかりません。
無圧縮だとメモリ使用量がかなり多いので、High Compressionを4096に上げておいて中圧縮が適用されるようにしておくのが良いのではないでしょうか。


■Rendering Qualityの設定

Render SettingsタブのProgressive RenderingグループにRendering Qualityという項目があります。どういう効果があるかわからないため初期設定のまま使っている方も多いと思いますが、この機会にそこにもメスを入れてみました。

Irayビデオカード選び3 レンダリング設定 プログレッシブ
・Min Samplesレンダリングする最小サンプル数です。
・Max Samplesレンダリングする最大サンプル数です。
・Rendering Quality Enableオンにするとレンダリングするサンプル数をRendering QualityとRendering Coverged Ratioの数値から求めます。Photorealモードで有効です。
・Rendering Qualityピクセル単位でのレンダリングの目標品質です。高いほど高品質になります。
・Rendering Converged Ratioイメージ全体のうち収束した(最終的な色が決定した?)ピクセルの目標割合です。

Irayレンダリングは「Max Samples」(品質基準)または「Max Time (secs)」(時間基準)のどちらかに達すると終了するとご紹介してきました。この項目の設定は、そのうちの品質基準に関わるものです。

 ●レンダリング進捗ウィンドウの表示

Photorealモードでのレンダリング中の進捗ウィンドウ(レンダリングウィンドウの裏に隠れています)を見ると、次のようなログが流れていきます。

Irayビデオカード選び3 進捗ダイアログ

「Iray Iteration: ~」がサンプル数(Iteration:反復数)で、「Iray: ~% of image converged」というのが収束率(Rendering Converged Ratio)であると思われます。
ちなみにプログレスバーはRendering QualityがオンのときはRendering Converged Ratioの設定値のうちその時点の収束率の割合が、オフのとき(またはInteractiveモードのとき)はMax Samplesに対するその時点のIterationの割合が反映されているようです。

 ●Quality、RatioとIterationの関係

単純なシーンでのRendering QualityとRendering Converged Ratioの設定値に対するレンダリング終了時のIterationの数値(シーンによってこれは大きく変わります)を表にしてみました。

 Max Samples 1000の場合
QualityRatioIteration
0.595%364
1.095%674
2.095%1000

 Max Samples 5000の場合
QualityRatioIteration
0.595%364
1.095%674
2.095%1281

Rendering Quality EnableがOnのとき、IrayレンダラーはRendering QualityとRendering Converged Ratioの設定値から目標とするレンダリング品質(Convergence quality estimate:収束品質見積)を決めます。
レンダリングはIterationの増加とともに進んでいき、目標品質に達した時、またはIterationがMax Samplesに達した時にレンダリングは終了します。
Rendering Quality EnableがOffのときは、IterationがMax Samplesに達した時にレンダリングは終了します。
また、Interactiveモードのときも、IterationがMax Samplesに達した時にレンダリングは終了します。

上の表ではRendering Qualityが2.0のとき、Max Samples 5000の場合はレンダリング終了時のIterationは1281ですが、Max Samples 1000の場合はIteration 1000で上限に達したためレンダリングが終了しています。

 ●レンダリングの品質を上げるには?

そのためレンダリング品質を上げたいときは「Max Samples」の数値を増やすと同時に、「Rendering Quality」の数値も増やすかRendering Quality EnableをOffにするかのどちらかをする必要があります。


■レンダリングサイズでの比較

私はだいたいPC画面に納まるサイズでレンダリングをするのですが、この機会にレンダリングサイズによるメモリ使用量とレンダリング時間の関係も調査してみました。

今回使用したシーンはこちら。
街へおでかけ風
Character:Ember
Hair:Toulouse Genesis 2 Female (Genesis 2 Female Starter Essentials)
Costume:Ladybug Outfit for Genesis 2 Female(s) , Trendy Accessories , Jewelry Box-Elani Collection , Star Of Mikaella
Skin:Fusion Skin Textures for Callie 6 , Beautiful Skin Iray Genesis 3 Female(s)

屋内照明を想定して、IBL(ライトのみ焼き付けたもの)とシーンライトでライティングしました。スキンシェーダーはGenesis3F用ものがプロモ画像を見て良さそうだったので、SurfacesタブでGenesis2Fに移植しました。

以下がそれぞれのレンダリング画像サイズでのメモリ使用量とレンダリング時間です。
画像サイズメインメモリビデオメモリレンダリング時間
300*400ピクセル2500MB1675MB1分43秒
600*800ピクセル2596MB1685MB5分8秒
1200*1600ピクセル2717MB1713MB18分15秒
2400*3200ピクセル3120MB1823MB1時間9分39秒

2400*3200ピクセルのような大サイズでレンダリングする場合を除けば、そんなに気にするほどにはメモリ使用量は増加していませんね。メインメモリもビデオメモリも両方使うのは注意すべき点ですが。
レンダリングの終了条件となる品質基準はピクセル当たりのサンプル数ですので、レンダリング時間は面積に比例すると単純には考えられますが、それよりは早く終了しているようです。



今回の素材はこちら

Ember

Ladybug Outfit for Genesis 2 Female(s)

Fusion Skin Textures for Callie 6

Beautiful Skin Iray Genesis 3 Female(s)

Trendy Accessories

Star Of Mikaella

Jewelry Box-Elani Collection


テーマ : 3DCG
ジャンル : コンピュータ

Comment

No title

管理人さん初めまして、最近DAZ STUDIOを始めた初心者です、
申し訳ないですが、この文章を借りて一つ質問しだいです、
実は作成したフィギュアを3dプリンターで出力したいですが、でも全体のサイズが分かりません、
このソフトはどこでフィギュアの身長などのサイズを確認できるところありますか?
そしてこのサイズ変更できますか?たとえば実際出力のフィギュアの高さを20cmに設定するとか。

色々迷惑かもしれないですが、宜しくお願いします。

ysyさんはじめまして。
DAZ Studioでは 1unit=1cm になっています。
そのため、ParametersタブなどのTranslateの数値の単位はcmと考えて構いません。
フィギュアの身長は実寸の170cm前後になりますね。

3Dプリンター出力をする場合は、シーンを他のアプリケーションにExportすることになると思います。
その際のオプションで、出力先のアプリケーションを指定する項目(To)で相手先の縮尺に変換するか、直接スケール(Scale)を指定して縮小して下さい。

No title

回答ありがとうございます、とても助かる。
非公開コメント

著書
カレンダー
10 | 2017/11 | 12
- - - 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 - -
検索フォーム
プロフィール

Kotozone

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

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

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

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

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

ブロとも申請フォーム

この人とブロともになる

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