Jump to content
Hash, Inc. Forums

Archived

This topic is now archived and is closed to further replies.

robcat2075

Reducing Render Time

Recommended Posts

My Benchmark scene was intentionally contrived to take a long time to render with many parameters set unnecessarily high to make extra work for the CPU. It's easier to discern differences in rendering time if the time is on the scale of minutes rather than seconds.

 

The original scene takes 17:10 on my Athlon 3200 XP:

ThreeTeapotsv15h_000.jpg

 

 

 

 

That version had reflections set to 8 possible levels. If I cut that to 2 we get a time of 15:31...

ThreeTeapotsv15h_reflec_2_000.jpg

 

That's only a slight improvement because it only speeds up pixels that would have shown a reflection of more than 2 bounces. Notice the difference in the interior of the right teapot.

 

 

 

 

Those two previous scenes had three "Sun" lights using 25 rays apiece to cast their shadows. If I cut that to 5 rays I get a render time of 3:55...

ThreeTeapotsv15h_reflec_2_ray5_000.jpg

 

It's hard to see in this small image size but the shadows are visibly grainier. But obviously the lighting was the major slow down in the first two scenes, rather than reflections or the refraction of the clear teapot. The biggest surprise is that anti-aliasing is also much briefer. I would have thought edges were edges but apparently lighting makes a difference.

 

If I was OK with razor sharp shadows I could cut the rays to 1 and get a time of 1:09...

ThreeTeapotsv15h_reflec_2_ray1_000.jpg

 

 

If I change the lights from Sun to Klieg lights with Z-buffered shadows (not raytraced) the time goes down to 41 seconds

ThreeTeapotsv15h_reflec_2_Zmapped_000.jpg

 

 

If I replace the mirrored Teapot with an environment mapped Teapot and turn off reflections I get 29 seconds...

ThreeTeapotsv15h_ReflecMAP_ray1_000.jpg

 

That's a crude reflection map, a better one could be made with more time and for an animation of many frames it might be a benefit. But that is about the same lighting resources that Pixar has used for most of its movies. According to Pixar no ray traced shadowing, reflection or refraction was used prior to Cars. All the reflections you saw in Buzz Lightyear's visor were "fake" environment mapped reflections. Carefully done by fine lighting artists, of course.

 

So with A:M you have in your hand as good or better rendering capabilities than in the movies you have seen and loved, and if you use them wisely you can get economical results for your movie and not spend 17 hours per frame as Pixar did for Cars.

Share this post


Link to post
Share on other sites

That's a fine breakdown Robert.

 

What I find interesting is that the image I prefer (at a quick glance) seems to be the one that took 41 seconds. This one:

If I change the lights from Sun to Klieg lights with Z-buffered shadows (not raytraced) the time goes down to 41 seconds

 

If I wasn't already convinced that most scenes were overrendered... I might be now.

 

More please.

Share this post


Link to post
Share on other sites

Whittling away further...

 

If I turn off even the quick Z-buffered shadows I get 14 seconds

ThreeTeapotsv15h_no_shadow_000.jpg

 

The black checkerboard floor helps hide the lack of shadows.

 

 

If I set the refraction on the glass teapot to 1.0 we get down to 10 seconds

ThreeTeapotsv15h_refrac0no_shadow_000.jpg

 

Of course that diminishes the glass effect which depended on the bending of the light rays to show the form of the glass. But for infinitely thin transparent surfaces like soap bubbles it might be just fine.

 

More?

 

Baking textures has great potential, but not for this scene.

 

The only combiner textures in this scene are the sky dome and ground. The sky dome was already eliminated when I created an environment map to simulate reflection. The default Ground object doesn't bake well because it is just one huge single patch; if I had subdivided it in to more patches the baked texture woudl be clearer.

 

But here is the Grand Prize Shortest Final Rendering Time winner... at 6 seconds...

ThreeTeapotsv15h_baked_000.jpg

 

 

Anything left? Shaded render is just fine for most animation preview purposes. I handed in a lot of AnimationMentor assignments in just Shaded mode and no one ever complained.

 

0.25 seconds!

 

ThreeTeapotsv15h_shaded_000.jpg

Share this post


Link to post
Share on other sites
Those two previous scenes had three "Sun" lights using 25 rays apiece to cast their shadows. If I cut that to 5 rays I get a render time of 3:55...

ThreeTeapotsv15h_reflec_2_ray5_000.jpg

 

It's hard to see in this small image size but the shadows are visibly grainier. But obviously the lighting was the major slow down in the first two scenes, rather than reflections or the refraction of the clear teapot. The biggest surprise is that anti-aliasing is also much briefer. I would have thought edges were edges but apparently lighting makes a difference.

 

If I was OK with razor sharp shadows I could cut the rays to 1 and get a time of 1:09...

ThreeTeapotsv15h_reflec_2_ray1_000.jpg

 

 

This seems to be the sweet spot that most closely represents the original at this resolution.

 

Thanks for the great work Robert. I think you are collecting enough data to come up with a cheat sheet of options to under crank before a render that may have little visually negative impact on your scene but decreases render time.

 

In a perfect world I see AM recommending render options and giving tips interactively and intelligently to get the highest gain at the lowest cost in regards to render time.

Share this post


Link to post
Share on other sites
This seems to be the sweet spot that most closely represents the original at this resolution.

 

True... but consider that the original wasn't a look that I was trying to get, I just threw threw the models and lights on the stage and pretty much accepted whatever I got since I was interested in render time rather than appearance.

 

That first result isn't necessarily the ideal. It's completely unlike many lighting situations that you might need in a movie. If we were lighting a nightclub, the shadow mapped Kleig lights might be the best solution and not just the cheapest.

Share this post


Link to post
Share on other sites
Baking textures has great potential, but not for this scene.

 

The only combiner textures in this scene are the sky dome and ground. The sky dome was already eliminated when I created an environment map to simulate reflection. The default Ground object doesn't bake well because it is just one huge single patch; if I had subdivided it in to more patches the baked texture woudl be clearer.

 

I changed the checker pattern to a patch image on the ground - made it repeat 100 x 100 - that's sorta baking. Also I decaled the sky dome spherically with a sky image (instead of using projection map, or a material). That, in combo with using a smaller image for my sky shaved 3 secs off render time to bring down to 8 secs - using IBL, and 2 kliegs with z buff shadows, 1 level of reflection, left transparency, refraction the same as in original project

 

When I made levels of reflection = 8 - added 1 sec - and looks better.

 

Lighting could be tweaked more (in combo with Global ambiance, and perhaps surface ambiance of ground plane).

 

I never-ever use ray traced shadows (for animation)

1level.jpg

8levels.jpg

Checkers.jpg

Share this post


Link to post
Share on other sites

That's a great result. Of course your 8 seconds would be like 20 on mine. :angry:

 

My main beef with kleig lights is it's hard to do daytime outdoor scenes with them.

 

Another software has z-buffered Sun lights. I have no idea how that can work. How do you map the shadows from a light that is infinitely wide? :huh:

 

But it would be handy.

 

 

I wish we could bake lighting onto objects, that would be really handy.

Share this post


Link to post
Share on other sites
That's a great result. Of course your 8 seconds would be like 20 on mine. :angry:

 

My main beef with kleig lights is it's hard to do daytime outdoor scenes with them.

 

Another software has z-buffered Sun lights. I have no idea how that can work. How do you map the shadows from a light that is infinitely wide? :huh:

 

But it would be handy.

 

 

I wish we could bake lighting onto objects, that would be really handy.

 

 

Do you think its worth doing a feature request?

Share this post


Link to post
Share on other sites
That's a great result. Of course your 8 seconds would be like 20 on mine. :angry:

 

My main beef with kleig lights is it's hard to do daytime outdoor scenes with them.

 

Another software has z-buffered Sun lights. I have no idea how that can work. How do you map the shadows from a light that is infinitely wide? :huh:

 

But it would be handy.

 

 

I wish we could bake lighting onto objects, that would be really handy.

 

You know there is a way to have z-buffered shadows with a sun light. It's not 100% physically accurate or automatic but it works. Actually, let me make sure it still works ... then I'll post an explanation.

Share this post


Link to post
Share on other sites

Such a feature already existst... it was introduced for Avalance studios... I just dont know exactly what it produces...

I think it produces a lightmap for each patch... but cant say exactly.

 

I tried to use it for my diploma-thesis, but I couldnt get it to work with Quest3d. Most of the programms need one big map, not several for each patch.

But maybe someone of you can?

 

Create a Chor and go to "Export > Lightmaps".

 

*Fuchur*

Share this post


Link to post
Share on other sites
My main beef with kleig lights is it's hard to do daytime outdoor scenes with them.

 

Another software has z-buffered Sun lights. I have no idea how that can work. How do you map the shadows from a light that is infinitely wide? :huh:

 

yes it's hard to get exactly - but good approximations can come with tweaking

 

Can use a sun type lights, that don't cast shadows, in combo with kleigs that do cast shadows (with diffuse =OFF, spec =ON)

 

and/or

 

Use Global lighting - set ambiance intensity to high - use a color or an image balanced with daytime colors, use kleigs and light lists with sharp (or soft) z buf shadows - settings depend on weather, mood, time of day trying to simulate

 

and/or

 

Can make kleig lights very large eg - 100' ? wide and/or combine with large angle eg 180 degrees, or an array of kliegs from overhead.

Share this post


Link to post
Share on other sites
Can make kleig lights very large eg - 100' ? wide and/or combine with large angle eg 180 degrees, or an array of kliegs from overhead.

 

The wider you make that Kleig light the farther you are stretching the bitmap that is drawing the shadow. Very wide angle Kleigs cast shadows in directions that don't look like the infinitely far away sun light.

 

 

The array of Kleig lights is promising. If you do a shadows only render of Kleig lights the image will include the dark shadow cast by an object but NOT the darkness outside the cone of the light. So if you had a narrow, distant Kleig on every model, rendered shadows and composited that with a non-shadowed Sun light render you might get something like a shadow-mapped Sun light.

 

 

Probably not worth the trouble for one frame but for many animation frames it might pay off.

Share this post


Link to post
Share on other sites

This works with Klieg lights for sure. It's been done. The key is to run a shadow pass with a single light for the shadows. Then of course you need to use a compositing software to bring the two together.... You can blurr sharp shadows in a compositor like After Effects to overcome the sharpness factor. With incredible results.

Share this post


Link to post
Share on other sites

×