レンダリングが遅い 2.7

以下の条件でレンダリングを実行すると、CPU を 100% 使いきらず、結果としてレンダリング時間が非常に長くなる現象が起こる。

条件

  • PC
    • CPU: Xeon E5-2670 v3 x 2 (48 Threads)
    • RAM: 64GB
    • OS: Windows10 64bit
  • Blender
    • 2.77a
    • CPU Rendering


Max Transparency による変化

Material に Transparent BSDF を含むオブジェクトがレンダリング対象にあり、Light Paths の Max Transparency が 64 以上に設定されていると、発生。
※63 以下にすると CPU はフルに稼働する。

同じファイルを Windows7 64bit, Core i7-3820 PC (8 Threads) にて CPU レンダリングした場合、CPU は 100% 使用されるので、OS とのからみか? CPU とのからみか?
結果は、8 でも、128 でも、違いが見えないので、この値は小さくて良いかも。

サンプル

PerformanceTest_48T_500s_LP-FGI.png PerformanceTest_48T_500s_LP_T.png Max Transparency Xeon 48T x Win10 i7 8T x Win7
128 41m21.01s 13m21.74s
64 15m52.63s 13m10.50s
32 02m40.75s 12m59.96s
16 02m40.58s 12m57.70s
8 02m36.95s 12m35.52s

Blender バージョンによる違い

Xeon 48T x Win10 PC で、Blender の他のバージョンでレンダリングチェックした結果。
2.71 以降のバージョンで、Max Transparency を 64 以上に設定していると、この PC では CPU を 100% 活用できないようです。

Blender Version CPU 100% 稼働
2.77a ×
2.77 ×
2.76b ×
2.76a ×
2.76rc3 ×
2.76rc2 ×
2.76 ×
2.75a ×
2.75 ×
2.74 ×
2.73a ×
2.73 ×
2.72b ×
2.72a ×
2.72 ×
2.71rc2 ×
2.71 ×
2.70a
2.70


Modifier による変化

オブジェクトに Subsurf Modifier が割り当てられていると、BVH の構築に時間が掛かる様子。
また、そのオブジェクトが複数ある場合、Instance として配置されているか、Array として配置されているかで計算時間が大きく変わる様子。
  Xeon 48T x Win10 i7 8T x Win7
  Instance Array Instance Array
Subsurf なし PerformanceTest_48T_500s_LP-Def_Instance.png02m37.53s PerformanceTest_48T_500s_LP-Def_Array.png03m01.41s PerformanceTest_8T_500s_LP-Def_Instance.png12m25.41s PerformanceTest_8T_500s_LP-Def_Array.png12m31.78s
Subsurf あり PerformanceTest_48T_500s_LP-Def_Instance-Subs.png03m29.60s PerformanceTest_48T_500s_LP-Def_Array-Subs.png10m06.90s PerformanceTest_8T_500s_LP-Def_Instance-Subs.png16m04.65s PerformanceTest_8T_500s_LP-Def_Array-Subs.png17m18.25s


コメント

上の、Max Transparency と Subsurf Modifier、Array が重なると、非常に遅くなるので、特に Max Transparency には注意。
同じ形状で、材質も同じであれば、極力 Instance を利用することで、BVH 構築にかかる時間を減らせる。





コメントを投稿するには画像の文字を半角数字で入力してください。


画像認証

  • 最終更新:2016-04-22 12:01:28

このWIKIを編集するにはパスワード入力が必要です

認証パスワード