View Full Version : The "how to speed up your renders tricks" thread
Marcel 04-30-2002, 02:37 PM Hello all!
Too many times I find myself waiting an insanely long time before my render if finished, just to tweak some settings and wait again!
So lets discuss some tips and tricks to speed up renders (and things to avoid because they make your computer come to a grinding halt).
For now, let's discuss default scanline renderer tips only (if someone has good tips for Brazil, fR, or any other renderer, just open a new thread).
For starters, my tips:
Use shadow mapped lights where possible (duh)
Instead of using anti aliasing on ray traced maps, use the supersample option.
Set 'maximum depth' as low as possible in the raytrace global parameters.
Exclude objects from raytracing if possible
Avoid using shadow casting omni's where you caan use a spotlight instead (because omni's waste a lot of shadow map shining all around)
Place raytraced lights as close to the objects as possible, if you set a ray traced light at 100000 units away it'll render damn slow
Use target direct lights instead of very far placed spotlights for sunlight type (parellel) rays.
Make the falloff range of your lights as small as possible so that you can can keep your shadow maps smaller.
Switch of shadow casting for objects that don't need it (or exclude them from the lights)
Switch of reflections if they can't be seen.
Use precalculated refract/reflect maps.
Use Flat mirror for totally flat reflecting objects
Render in different layers, and them composite later.
Avoid combinations of objects with opacity maps and ray traced shadow lights (since ray traced shadows go through the objects, increasing rendertime)
Use grayscale maps instead of RGB maps when color is not needed (like bump maps) (30 % less memory space!)
(btw, as long as your computer doesn't run out of main memory and goes swapping, the texture map SIZE by itself doesn't add to the rendertime I think, I'll look into that)
Use 'shadow only lights' to localize shadows (multiplier 0, shadow color = white, shadow density = -1) instead of huge shadow maps
Use supersampling with raytrace map instead of raytrace antialiasing. Much faster and more control.
Use different models/materials for far off and nearby objects.
Well, that's all I can think of for now, but I hope everybody will add some tips of their own.
Marcel Vijfwinkel
|
|
Hi Marcel,
Good tips! I wish I had this info 6 CPU generations back...
Fortunately at nearly 2 GHz I have been able to crank up shadow maps, anti-alias raytrace shaders and generally hog resources with reasonable render times, even for animation.
I dig efficient scenes that look great and render fast, but if I can get a 3 to 5 minute D1 frame rendered then I am pretty happy to let an animation cook while I try and live a life. Of course I do have some pretty good habits in terms of mesh density and include/exclude of raytrace shaders and many of the tips you listed.
The only thing you kinda left out was mesh density, optimizers and LOD. I find students often create far more detail than is required for small objects and yet often don’t have enough segmentation in long arcs and larger curvy shapes. Awareness of scale and spatial relationships is required to properly parameterize any model and this skill can take a while to hone. Asking oneself just where the camera will be for final renders can help one establish proper mesh density by looking at your objects density from those points of view.
Also, using flat mirror maps can be slower than using a raytraced reflection in my experience, especially when you have deep shadows and/or a lot of lights. I do like the blur and noise option though.
And,.. I personally would not let hardware limitations influence my falloff ranges. We paint with light and falloff is a big part of the art of lighting. You may have also skipped attenuation of lights, which can not only help a scene look better but can reduce render calculations
-Shea
www.Ls3D.com
:thumbsup:
Marcel
05-01-2002, 02:53 AM
Good tips! I wish I had this info 6 CPU generations back...
Me too! Most of it i found out by trail and error, and by the help of some enlightened people. (You did 3D on a 8086?! :) )
Fortunately at nearly 2 GHz I have been able to crank up shadow maps, anti-alias raytrace shaders and generally hog resources with reasonable render times, even for animation.
True, but somehow my renders always end up between 2 and 15 minutes per frame, no matter how fast my computer is.
And having faster renders means fast feedback so you can improve your render much easier and faster. Having to wait 15 minutes every test render really takes the fun out of it.
Also, lately I am fiddling with the new DOF setting, which multiplies your rendertimes by the number of passes you use, so it's still important. 3 to 5 minutes a frame is absolutely no problem at all!
The only thing you kinda left out was mesh density, optimizers and LOD. I find students often create far more detail than is required for small objects and yet often don’t have enough segmentation in long arcs and larger curvy shapes. Awareness of scale and spatial relationships is required to properly parameterize any model and this skill can take a while to hone. Asking oneself just where the camera will be for final renders can help one establish proper mesh density by looking at your objects density from those points of view.
Yes, you are right, I forgot that. When I was starting I didn't even know you could set the interpolation of a spline and it's effect on lathes, extrudes and other modifiers. As a result my scenes were very heavy polygon wise.
That may be another tip: When I make beveled objects, I find that in most circumstances 3 segments are enough for a smooth transition (unless you see your object from very close up, or see it in profile, or when has intersections with other objects that betray it has little segments)
I must confes that I never use LOD modifiers, but I can imagine they can be a help. Can you use LOD modifier in conjunction with XREFs? That way you would also have high detail meshes without slowing your viewports down.
Also, using flat mirror maps can be slower than using a raytraced reflection in my experience, especially when you have deep shadows and/or a lot of lights. I do like the blur and noise option though.
Really? Never had that problem myself. I know that the combination of a flat mirror and raytrace materials can be a real killer. (because the flat mirror will reflect ray traced objects and thus it will raytrace your scene.)
What do you mean by deep shadows?
And,.. I personally would not let hardware limitations influence my falloff ranges. We paint with light and falloff is a big part of the art of lighting. You may have also skipped attenuation of lights, which can not only help a scene look better but can reduce render calculations
Me neither, the look of the image comes first. But if a light has a falloff that's twice the area you see on screen then it can't harm to tighten it up a bit.
I never tried if attenuation will speed up renders, but I gues it does. Good one!
Thanks for you tips,
Marcel Vijwinkel
I never needed to use xref's.
Deep shadows is shop slange (around here) for a raytrace light that covers a large area or any light using a lot of memory via map settings and high poly inclusion.
One scene (dali-ish homage) I started 9 yrs ago on a 486 66 took so long that I gave it up untill I hit the 1.7GHz mark. What a joy to see 300K ploygons update with resonable speed and the render cook off frames!
I heard something about the Japaneese recently hitting the 37.5 GFLOP mark! Imagine the young punks of tommorow having little to no clue about optimization because it is a mute point with so much horsepower. Bring it on!
:airguitar
-Shea
www.Ls3d.com
Marcel
05-01-2002, 01:11 PM
I never needed to use xref's.
They can be useful, but the times I used them they seemed a bit buggy. Weird things started happening.
Deep shadows is shop slange (around here) for a raytrace light that covers a large area or any light using a lot of memory via map settings and high poly inclusion.
I had such a problem once, where I had a raytraced light shining on my scene, and a car with a ridicilous amount of polygons. The shadow of the car was gobblingup at leas half of the rendertime.
So I excluded the car from casting shadows with the raytraced light. Then I added a second light with a fairly small shadow map and set it to cast shadows only. That way I still had the shadow and fast rendertimes.
Shadow only light are perfect for splitting your scene up without having trouble with the overall look of the scene (inconsistent lighting).
I don't know if you ever use the skydome technique for ambient lighting (you know, with 40.000 light in a hemisphere around your object). You can do the same with shadow only light and localize the effect on a very small part of your scene.
Say you want to have really good ambient shadows on the foot of your robot (in a closeup). Just light the scene as normal and put in a hemisphere of shadow only lights around the foot for the subtle ambient shadows effect.
I heard something about the Japaneese recently hitting the 37.5 GFLOP mark! Imagine the young punks of tommorow having little to no clue about optimization because it is a mute point with so much horsepower. Bring it on!
Oh they will have a clue about opimization, and they will still complain about computers being to slow because their 25 million polygon scene with subsurface scattering and radiosity takes 8 minutes to render :)
I started with 3 MHz computers , it's really amazing how fast computers are today.
That NEC supercomputer is awesome! I wish I had only one of those boxes you see on the pictures, very cool looking.
( It's a total of 40TFLOPS by the way!)
http://www.nec.co.jp/press/en/0203/0801.html
Marcel
henry
05-01-2002, 02:56 PM
ummm what exactly is a GFLOP and a TFLOP ?? i know it must stand for Giga and Terra but not sure what FLOP is :) pls explain
:wavey: bye from henry
Marcel
05-01-2002, 03:23 PM
A FLOP says how much Floating point operations a computer can do per second. An example of a floating point operation is
2.32873287 / 5.33333333
Definition from some site:
The term floating point is derived from the fact that there is no fixed number of digits before and after the decimal point; that is, the decimal point can float.
3D applications use a lot of these operations, so it's very important that the processor can handle these well.
A Pentium II 400 might get about 40 Mega FLOPS, so you can imagine this new supercomputer is quite fast.
Marcel
You have, of course, missed the most vital tip for increasing render times (I find this works in nearly all apps).
Buy a Game Boy Advance - a copy of Mario Advance 2 or Street Fighter and a pack of AA batteries.
Watch those render times fly by!
(I personally think that when Brazil is released it should come with a GBA for each render license...) :D
Marcel
05-02-2002, 01:55 PM
Originally posted by AJ_23
You have, of course, missed the most vital tip for increasing render times (I find this works in nearly all apps).
Buy a Game Boy Advance - a copy of Mario Advance 2 or Street Fighter and a pack of AA batteries.
Watch those render times fly by!
(I personally think that when Brazil is released it should come with a GBA for each render license...) :D
Wahaha! Good one!
I usually try to do something usefull when waiting for the rendering to finish. At my work I had 2 computers so I could work on the other while rendering, that was a great luxury.
Marcel
mrapelje
05-20-2002, 04:31 PM
One that I have found to shorten long renders is to turn off the virtual frame buffer when you have a scene that you are not going to look at the whole time.
With my HP 4000 (dual 1.7 xeon 1 gig sdram) I had a farley static scene that took on average 0:1:25-29 per frame, I then turned off the virtual frame buffer and it was down to 0:1:22-25 per frame. Not much but considering that it was a five min animation it really added up in the end.
I also have a GBA and it is very nice tool to have around.
Gilgamesh
05-20-2002, 06:43 PM
With this animation that I am working on right now, I have a few shots that I wanted DOF, but it was just taking way too long. I managed to cheat it on a couple shots by rendering foreground and background separately and then blurring one or the other in post. It's kind of a no brainer concept, and I know it isn't accurate, but the point is that I was able to get the look I wanted without long render times.
There are also some shots where there is only movement in the foreground. In this case you can render a foreground and a background separately. If the background or the camera doesn't move, then you only need to render one frame. Then lay the animated foreground element on top of the still in post. This is good for heavy backgrounds that are separate from the foreground. Even if you have an element moving through a heavy scene, you can copy the scene and apply a matte/shadow material to all the motionless objects so that when you composite it everything will recieve shadows. It will still render faster because you only have to render the textured and lit scene once.
-Vormav-
05-01-2005, 09:43 PM
Old old thread, but worth bringing back.
I just had to deal with animating a panning camera motion around one of my older scenes. Since I didn't really know too well what I was doing back then, it was no surprise that the initial render time was up to 32 hours, which was simply far too long. After messing around with the scene for awhile, it seemed that the problem had come down to raytraced shadows. And even after trimming the poly count down by 100k, render times were still through the roof. I tried baking textures, but that was looking to take about 10 hours, and with no gaurantee that the maps would be detailed enough.
Transferring the lighting solution to Mental Ray didn't work; the scene made use of scanline-only lighting solutions. And I wanted to keep from altering the look of the scene as much as possible.
The fix? I rendered out the animation in the scanline renderer without any shadows, and then rendered out a shadow and atmosphere pass in mental ray (making use of mental ray's significantly faster raytracing). Final render time: 2 hours, plus a few minutes in Combustion.
So what's the point? Know the tools that are available to you. And the more I deal with rendering, the more I come to believe that all 3d designers should have some compositing background. That's twice in the past week that compositing has saved me. Often times the best rendering trick is a compositing trick.
Old old thread, but worth bringing back.
Man I'll say - 3 years & a Day.. it could sure be updated with all kinds of MR specific adjustments and techniques. Totally agree with the composite POV, I'm doing lots of Ambient Occlusion passes for sweetening in post these days.
Hopefully I will live to see all this happening in realtime. Back in 3 years to check.
-S
salmonmoose
05-02-2005, 02:24 AM
I've recently had very good results baking amb-occ to texture, which can give you not only really quick render times, but with the d3d viewports, pretty much realtime views, so long as nothing is moving around.
I've recently had very good results baking amb-occ to texture..
Awesome, I tried some of that in conjunction with some normal mapping on a fabric covered chair (top left link on my website).
I could not use the very accurate mapping channels that I spent days on for the diffuse texture. Seems I was constrained to the auto unwrap somehow, I will have to spend some more time on it. Cheers.
-S
Borjis
05-02-2005, 05:18 AM
The "Blinders" script from Blur Studios is amazing and can shave a very significant
amount of time off animation renders.
I shaved about 45 minutes of render time off an 8 second segment recently.
amazing!
andrewjohn81
05-02-2005, 01:13 PM
I tried the shadow trick in mental ray and it didn't work. The one that said to make the light 0, then change the shadow color to white with density of -1. It didn't seem to work.
I have FG turned on, and I was trying this with an mr Area Omni.
What I've hear works good though is to have one two exactly same light except for casting shadows. Then have the light that doesn't cast shadow be the exact oposite light value. Hopefullly that makes sense. I would think that may be kinda slow though.
That seems like it would work to me though. Am I wrong? I'm about to try it now, but was just wondering if anyone had experience doing that.
aphexx
07-15-2005, 08:57 PM
try to avoid light operations that produce kind of ambient occlusion.
its a great realistic effect, but uses plenty of time to generate.
use vertex colors for ambient occlusion faking
in nature scenes this is working some well.
for doing so, put an rgb multiply material in the diffuse slot. put in one subchannel of the RGB multiply the bitmap material containing your texture, the other with a Vertex Color Material. make sure there are enough vertecies in the areas that have pits and grooves.
then go on put some vertex color modifier on your object and "paint it black" ;) or grey where it's naturally not been lit so much. -> in the pits and grooves !
thats it..if you have a scene that is rendered many times, it will save you a hell amount of time!
but dont get me wrong, you can NEVER fake a time expensive rendering that good. do it only when the costly rendering is not worth it.
see my forest scene (http://www.cgtalk.com/showthread.php?t=245306) for an example of this technique.
the grass and some darker areas on ground and trees are made this way.
CGTalk Moderation
07-15-2005, 08:57 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.
vBulletin v3.0.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.