3
$\begingroup$

I am new to both Fire/Smoke simulation and Animation. I have baked a Fire/Smoke Simulation. I do the baking of the fire/smoke in CPU on my MAC and this goes really fast.

Now I wanted to render an animation. This animation is about the earth turning around and at the same time the earth is burning (using the baked fire/smoke simulation). When trying to get this animation rendered I encountered some challenges in render time .... and this question is about what to do to get acceptable render times. I render on a Windows/NVIDIA machine with one GTX970 card.

Best Practices

So my question is about the best practices when running this kind of renders. How can I reduce the rendering time and still maintain a good quality ? What sample rate is necessary for most animations ? What are the most common things you can consider to reduce render time ? And if render times of (many) days are normal, how do you people deal with this issue ? I mean this is only an animation of 10 seconds ... and blocking my computer for 10 days for other renders. Do you all have many computers ?

Rendering on CPU or GPU ?

First I tried to render this animation on CPU. But after reading the comments of Antonio I installed Blender 2.77 RC1 and rendered the Smoke Simulation on the GPU. Really big improvement !! But still ... rendering each frame required more than an hour (sample rate = 250) and rendering this animation would still last some 10 days. HELP !!!! How to deal with animations of 30 seconds or more ?? That would mean 30 days of rendering. By the way, I am using settings like in this post

Render Dimensions and Render Output

I started with 4K resolutions (as this seems to be the future) and rendered the output to video format directly. This resulted in render times of more than an hour per image and a total render time of about 10 days ???

After reading the answer of Diramazioni I rendered with 1080p resolution instead of 4K resolution and rendered the output to PNG as adviced. This indeed resulted in a render time of about 20 minutes (per PNG). That's good news ... or not ? I mean 4K seems to be the future, how to get reasonable render times when 4K is the new norm ?

Two GPU system

Also I might seriously reduce render time with installing another GPU, but should that also be a gtx970 like I already have ? Diramazioni gave some good advice on this GPU issue.

Sampling

I now render at 250 samples. Maybe 100 samples is enough ? I have to test the impact of the number of samples on render times. And It would be handy If I had some rules of thumb for setting the render sample rate ....

Other aspects of sampling are Clamping and Branched Path Tracing. I have to dive into that. But I thought that Clamping can also have a negative effect on the render quality ?

Light Paths

As Diramazioni advices there is possible some improvements in render time possible when you play with Light Paths. If I understand him correctly then an analysis of render passes should give guidance in setting the bouncing ??

Other Possibilities

I have tried to restructure my question. If there are other possible improvements in render time, please let me know in a new answer

$\endgroup$
6
  • 5
    $\begingroup$ Rendering smoke with GPU in Cycles is not possible until the new version 2.77. That render times are normal in this cases, I think. Try downloading 2.77 RC1, it works great download.blender.org/release/Blender2.77 $\endgroup$ Mar 3, 2016 at 9:00
  • $\begingroup$ So my sample rate of 250 is normal, also for rendering an animation ? $\endgroup$
    – user13877
    Mar 3, 2016 at 9:07
  • $\begingroup$ In my humble opinion, the samples might be enough to have a good render. In our studio we render projects at 100 or 500, depending on the noise. Though you can split the render in render layers, sometimes it saves render times. For instance you could render your smoke separately if it's possible. $\endgroup$ Mar 3, 2016 at 9:23
  • 1
    $\begingroup$ I downloaded Blender 2.77 RC1 and rendered the Smoke Simulation on the GPU. Really big improvement !! thanks !! $\endgroup$
    – user13877
    Mar 3, 2016 at 18:09
  • $\begingroup$ @JanScherders instead of adding more questions to the original post, please try to break down the different the different questions and ask them separately. The scope of the question is grown now $\endgroup$
    – user1853
    Mar 10, 2016 at 4:52

2 Answers 2

4
+100
$\begingroup$

Rendering 4k means almost x4 the time of a 1080p render, and adding a second card with the same power won't double the performance. However, rendering with two instances of blender, on two separate cards and on different frames, and you will have the best performance you can get from a single machine.

Also the OS counts, my experiments shows that on linux it's faster.

Some Advices:

  • Turn off caustic, and use some clamp to greatly reduce render time and be conservative with light bouncing setting.

  • Use all the rendering pass on one frame to discover the most noisy one, and then use branched path tracing to cast more ray where is really needed.

  • Bake everything you can bake in advance.

  • I bet you can reduce the time a lot if you follow these advices.

  • Render out on a series of png/exr, don't output to a video format directly.

Edit with more info:

For basic settings for light paths you can select "limited global illumination" in the dropdown (this will also uncheck caustics).

  • Filter glossy it's also sometimes useful.
  • Clamp settings. It's under Sampling (still in the render tab) start setting Clamp indirect to 1 or higher (it works the opposite lower values more clamping but I don't advice to go lower then 1).

A tutorial on "branched path tracing".

And again, pre-baking a combined pass and then rendering it using an emission shader will save time for every frame a lot!

These are general advices and don't apply specifically to fire/smoke because every render is different depending on the material used.

Of course if you need to make a long sequence, and you reach the limit of optimization you can always use a render farm. However, you can go a long way by just preparing the scene before rendering.

$\endgroup$
2
  • $\begingroup$ I am now rendering out on PNG and render on 1080p (I was rendering at 4K and to video format directly). The render time for a single frame is now 7 minutes and it was 70 minutes .... ??? It looks like that GPU rendering of Fire/Smoke at 4K is still a problem ?? $\endgroup$
    – user13877
    Mar 7, 2016 at 10:04
  • $\begingroup$ The other things you mention ... caustics, bounce settings, branched path tracing are at the moment beyond my skills, but I get the point. Thanks $\endgroup$
    – user13877
    Mar 7, 2016 at 10:07
2
$\begingroup$

So what I'm gathering from this is that your problem is mainly the render times for the animation. I dont think there is a way to solve this except with more processing power, either CPU or GPU, even if you reduce the quality and/or samples, expect this to be multiple days of rendering. Volumetrics, especially with emission, are a major processing hog.

However, I can suggest this hack instead: Render your smoke/fire simulation from the viewport with openGL.

Essentially you viewport render the smoke/fire sim into a separate movie (which is lightning fast) that you then can use as a texture to be composited over your final image. Here is a video on how to use the viewport render: https://www.youtube.com/watch?v=Uyw7hjZZ4oA

Now what you dont get from this solution is the same accuracy as a full cycles render, since the texture composite isnt a "real" volumetric material, but you can fake some of it by using nodes (emission) to at least get the fire to illuminate the earth.

$\endgroup$

You must log in to answer this question.