Need to speed up rendering time

I was hoping someone could help a newbie out with a computer hardware question. I am utelising Blender more and more for my business purposes but am getting frustrated with my rendering time and the jerkyness when moving around in the 3D window.

What could I do to speed things up a lot if money was not an issue? (to a degree). Is it more RAM (currently 2GB), better graphics card, better processor?

I would be open to anything up to even buying a new computer with all the trimmings if I knew what to buy. This is purely with the sole intention of making Blender perform better and render faster.

My current project is about 5000 frames and each is taking about 10 minutes to render. Would like to do it in a fraction of this time if possible.

Maybe you should start to tell us your full configuration, so as they who know can see what is good and wqhat is to improve.

It should be :

  • motherboard (optional)
  • CPU
  • Graphics Card
  • RAM (amount and speed)
  • Hard drive speed (optional)
  • OS (i’ve heard it’s a bit faster under Linux)

OK, from what I can gather:

motherboard - don’t know or know how to determine
CPU - Pentium 4 3.20 GHz
Graphics Card - NVIDIA GeForce 6200 Turbocache (thinks it’s either 128 or 256)
RAM - 2GB (don’t know how to determine speed)
Hard Drive Speed - Don’t know or know how to determine
OS - Windows XP Home 2002 (with SP2)

Am I right in assuming a better graphics card will reduce the jerkyness when moving about in the 3D view window?

That video card seems pretty current, are you working with extremetly large scenes?

you might want to go with a dual core processor to speed up rendering times, I love mine!

but that seems like a pretty solid system you have already, are your nvidia drivers set up properly?

and I’ll add another vote for linux here, everything seems smoother on my x/ubuntu box.

also, rendering from the command line helps alot with render times!

I don’t think my scenes would be classed as extremely large. I have a large array of objects though.

I assume my nvidia drivers are set up properly as it came already with the computer from the retailer.

Could you just clarify what you mean by rendering from the command line?

By the way, the .blend file I’m working on at the moment (and waiting about 28 minutes per frame render time) is itself about 40MB. Don’t know if this would be classed as a relatively large .blend file or not.

My calculations put the finished movie at around mid December if I hit animate now. Problem is I need it in a week.

The graphics card is only relevant for the 3D window and OpenGL interface; it has nothing to do with rendering. But I don’t think you’re going to reduce render times to fractions of 10 minutes with off the shelf hardware. With such a tight deadline and if you have money, it might be better spent hiring ResPower to render your scene on their renderfarm (No I don’t work for Respower :slight_smile: ).

In no particular order, here is a frothy mix of things that bog down rendering times. See if you can get away with eliminating or adjusting some of them:
Raytracing / Ambient Occlusion - real hogs. If you have to use Blender’s internal raytracer, check that you’re using an appropriate octree resolution. It’s set with a little rollout menu between Key and Border in the Render panel.
Oversampling - you usually don’t need more than OSA 5
Particles and halos - lots of particles and big halo sizes: muy mal.
Unnecessary lamps - especially Area lights.
Motion Blur
High subsurf value
Bump and displacement maps
Unnecessary rendering - if there are static elements in your scene, don’t render them over and over for each frame. Use the Sequence Editor or nodes to composite animated elements over static plates.

I came across this Gelato rendering program on the Nvidia website and was hoping someone might help me through the whole process of setting it up to use as my rendering engine for my blender files?

This thread will explain things a bit better:

http://blenderartists.org/forum/showthread.php?t=66308

I posted the question in the Python & Plugins forum section whether anyone had heard of a direct Gelato plugin for Blender and got directed to the above thread.

Please take into account that I have had very little experience with plugins and how they work or what the hell they even are really.

I have installed Gelato and done the check - all good. I have downloaded both the BlenderPixie and rsl2gsl files and also the Ribelato file and all are sitting on my desktop. But have absolutely no idea what to do next

From what I can gather, blender has it’s own in built renderer? And Gelato can in some way replace this and do it quicker perhaps?

I have composed a scene (see image attached) which I want to create an animated movie of about 2000 to 3000 frames from by simply moving the camera around the room pointing at the elements as it goes. Problem is just rendering 1 frame such as the one below is taking anywhere between 30 mins to an hour. Hoping Gelato might help (a lot).

Attachments


Good luck! :slight_smile:
In no particular order…

I don’t know anything about the Gelato deal. Plugins are a thing unto themselves as well.
I think you have to use a different kind of materials (?) or use a Renderman exporter; that thread talks about Pixar’s Renderman (RIB) “shader” standards.
There is a Renderman exporter that’s been worked on lately, check the scripts section.
You would probably export your scene and then get Gelato to render it. You might not have enough time to get it working either, but ask someone in that thread.

CD38’s points about how exactly you’re rendering this would be the best questions to answer.

Jerky motion: you’re talking about playback? I don’t think so, but that’s entirely different if so. You’ve got plenty of RAM, CPU and Graphics card compared to average Joe regardless

Speaking of which, how big is the rendered movie, and how are you playing this back?

An 800x600 movie like the still you’ve shown is way bigger than standard TV for example, not to mention virtually all computers would have trouble playing back an 800x600 movie at full speed.

Try doing a quick rendering say 20 seconds of a simple scene, bouncing around with no raytracing, anti-aliasing (oversampling) etc to see if your playback can even handle that. And what kind of hardware is going to display this movie?
If you can cut the size in half, you’ll speed up the rendering by 4 times, remember, as well as reduce the RAM and load-times for streaming the movie by almost as much, possibly, depending on the scene and compression codec.

I don’t see much in that image that would really require raytracing for example, nor a lot of oversampling. That could result in 10X increase in speed. Do some small image tests - click the 25% size on the render panel so you don’t have to mess with too many things in your file and get a quicker result… and multiple x16 to get your full-size time.

If you’re orbiting it, maybe need some motion blur, maybe not. That would also make it harder to use a still background for compositing as he suggested, but you could still use a compositing layer for adding in some slow-rendering highlighting or the like. (I.e. do your scene without raytracing, then delete everything and render the shiny object by itself, then overlay it.)

I assume most of the blend file size is due to the texture images being Packed into the file, that seems like a big file, from what I’m used to seeing and what’s in the picture.

If you meant jerkiness in editing… the video drivers may or may not be current, but as stated, that SHOULD have little bearing on render times. YMMV. It will make a difference in the 3d window interface. I believe I saw slightly better rendering times when I installed my fx5500 but that could be for memory related reasons. It was a LOT faster and smoother while editing.
Retailers could care less if you’re up to date… unless you need to pay them to do it for you! :smiley:
Look in the settings menu and find out the driver version, and then go to nvidia and see what the latest version is.

Looks nice but I wouldn’t have guessed 10 minutes to render it even at that size (though if you can get away with smaller it will really speed things up). How many verticies in that scene ? 40mb is pretty hefty, though not outrageous. Also, could you describe your lighting setup ?

Maybe you accidentally have high subsurf render settings or unnecessarily high raytrace depths on the shiny yellow bits ? Or incredibly high res textures that are pushing the limits of the RAM ? (though with 2Gb, they’d have to be enormous…) Or perhaps you’re using the old-style motion blur that makes everything take at least 5 times longer ? Or you might be using AO… but it doesn’t look like it.

I’d say ResPower would be your best bet if pushed for time… much cheaper than buying a new system (yours sounds awesome anyway, wish mine was that good !).

maybe scale everything down when rendering and scale up when editing

Just a thought…

OK, I’ll try and cover all the points raised.

I haven’t brought this up yet but I’ve noticed Blender is becoming more and more unstable the more I do to this file. It’s shutting down about once every three attempts at rendering which scares me as I’d hate for it to do it after hours of rendering my final movie or something. It even bombs while I’m just editing occasionally. Any thoughts there?

Firstly, the size was set at 800 x 600 with OSA 8 and I have previously rendered a 500 frame animation of this scene at these settings with camera moving from one end to another but without that big sign abover the poker machines. Strangely enough the frames were only taking a minute or two to render back then (this was before I started building that big sign you see there). The resulting .avi file does actually playback a bit jerky (on windows media player) as dgebel suggested it might.

I just rendered the same scene but selected 50% and it’s just way too small for my purposes.

I’m a bit confused, I use a 21" wide screen minitor which I would say is probably smaller than the average domestic TV set these days yet dgebel, you say that 800 x 600 is way bigger than standard TV yet my images and movies at 800 x 600 only fill up just under a quarter of my monitor when viewed in Windows Media Player or Windows Picture and Fax Viewer and when I zoom in to stretch it to fit my whole monitor the picture quality deteriorates a lot. Pardon my ignorance but I just don’t get that side of it yet. Are these (800 x 600) pixel settings? Screen Resolutions? I don’t understand.

Thing is, the final movie will be presented to clients on either a laptop or through a TV screen and we would want it to fit the whole screen and be nice and sharp, it also may later get used for things like expos and run through 42" plasma screens. Played on this size screen it would expand the image so much it would appear blury if I made it too small wouldn’t it? I will probably use some sort of video editing software and create a dvd to give to the clients to keep.

Can I just say off the track a bit, ResPower was a hell of a lot more expensive than I thought it was going to be! I could buy a swanky new system with all the trimmings by the time I did 10 movies with them going by their estimates (I’d assume $20,000 would buy me a pretty fast 3D work station wouldn’t it?).

The jerkiness I was refering to in my earlier posting was when editing, you know, moving around holding down the MMB or Shift MMB or zooming etc all in the 3D window. I had a look at the NVIDIA web site and I think the graphics card I currently have retails for about AU$110 and there are some I found specifically designed for 3D and CAD work which go up to $3,800. So I figure if I upgrade mine and spend around $800 to $1000 I should hopefully see significant improvements there. It’s the render time I am mostly concerned with and would like to find a way to do it in house.

I have learnt what I know so far in Blender on this, my first project that you see so yes, I did go a little nuts with lighting and subsurfing earlier on in it’s creation before I came to learn of these things from you good people but I do need the raytracing I think as with my line of work there’s lots of polished gold and silver materials used, so, can’t gat past that one.

I’ve tried turning off OSA and it’s just not as good, (once you’ve seen how good it can be it’s hard settle for less). I have avoided ambient occlusion as I think for my purposes it’s just not necessary. I don’t need motion blur either.

I still don’t get the whole Octree resolution thing even after following the link CD38 supplied (must admit it was the wee hours when I was trying to get my head around it) and I noticed my rendering time is chewed up a lot with it ‘Filling Octree’

I might try taking out a few lamps as I have them spread around the room shining down the walls to help create a casino style atmosphere.

I’m still yet to attempt to put a video image as the texture in all those screens to be playing as my camera moves around the room so god knows what thats gonna add to my render time too.

There are 5,086,682 vertices in the seen. (This is the Ve: quantity at the top left of the render window I’m assuming).

May be just showing our clients still shots of this by the looks of it, which is a shame really. I had no idea what a major field rendering was when I started using blender. “Renderfarms” - strange concept for me still.

Woops - I’ve written a novel. sorry bout that.

TV screens are a lot bigger than computer screens, but they are much lower resolution. For a TV, 800 x 600 is standard, and with the exception of HDTV’s, 1024 x 768 max.

These are services that allow you to render with the power of several computers at once.

There are 5,086,682 vertices in the seen. (This is the Ve: quantity at the top left of the render window I’m assuming).

Ah, there’s your problem (well, probably).:slight_smile: 5 million verticies is a HUGE number - unless you’re planning a great number of prolonged and extremely close-up views, I’d have guessed no more than a few hundred thousand at the very very most.

You say that without the sign things are rendering pretty quickly, so maybe with that you exceeded the limits of your RAM. If that happens, virtual memory is used - which is nightmarishly slow. How much memory is being used on rendering (Mem:quantity in render window) ?. If you can, lower the render setting of the subsurf. Or, just remodel some of the higher-poly meshes so they have less verticies. This will definately make the file more stable and cut render times. Once you start getting back within the limits of the RAM things go many times faster. I think there was also an issue whereby memory usage was limited to 1.7GB, but this was fixed in 2.42.

It’s shutting down about once every three attempts at rendering which scares me as I’d hate for it to do it after hours of rendering my final movie or something.

If you render as a series of jpegs rather than directly to an .avi, then compile them as a movie in the sequencer later, you needn’t worry about the occaisional crash during rendering. Command line rendering is also generally more stable and often significantly faster (do a forum search).

ResPower = $20,000 ?? I thought it was more like $20, per month.

I’m surprised a movie at 800*600 isn’t playing back smoothly though, didn’t Elephants Dream use a higher resolution than this ? Maybe it’s a codec issue ? I also seem to recall @ndy’s Ice Troll short being rendered at this resolution and it didn’t cause playback issues.

The easiest way to see the effects of Octree is just to render using different octree values. I find higher settings are generally faster, though not always significantly so. But this won’t help you if you have so many verticies it’s exceeding the RAM. Another thing you can do, once you get that under control, is to try an optimized build, for example :
http://blenderartists.org/forum/showthread.php?t=73387
But nothing will help (except for a faster system or renderfarm) unless you’re within the limits of the RAM !

In my opinion you should go with standard TV resolution if you want it to be Viedeo the customer can show where he wants to.
Dependenig on where you are you should look ub NTSC (USA) and PAL (Europe) and then the resolutions of HDTV.
In short:
PAL: 720-576
NTSC: 720-480
HDTV: 1920-1080

They also do have nonsquare pixels. you can have a look az these in the render buttons of Blender. In the Format tab there are several Presets you can choose.
And definetly render out as png sequential. you can put them together in the end. you have uncompressed base material. and you can rerender short parts if necesary.

Don´t have more time, so please excuse my typo (not my language)

And good luck

Edit: you may also want to have a look at the elephants dream.
they have rendered in PAL and in HD. so you can compare the differences.

Ah, from Oz are you? And as this is a marketing presentation, so you’ll want to be as spiffy looking as possible. Hmm.

Roughly speaking, anti-aliasing gives an impression of double the actual resolution, and animation does the same, although we’ve gotten spoiled by everything being anti-aliased, so stuff always looks better than it should.

Point of confusion there. A 21" monitor can be any resolution, same as a smaller monitor. Sounds like its in 1600x1200 mode if 800x600 is 1/4 screen. That’s VERY high resolution for playback of an animation on a computer. As noted, it is in the HDTV range.
You would definitely need as powerful a video card as possible - and as fast a Hard Drive as possible, because you’ll be playing this from the drive, it will be too big to fit in memory in all likelyhood. Few ,if any, laptops would be able to handle that.

You might want to think about burning to DVD, because there are specialized video chips and connections that play the DVD faster than it could be done from the hard drive.
At least, that WAS the state of things. That may be different these days on high-end hardware.

Ah. “Europe, Australia, and much of the rest of the world use PAL television systems with a higher resolution of 625 lines, with 576 lines being visible”

You’ll need to decide what device you’re going to use to display this. Possibly you’ll want a full-monitor still picture, and a standard video resolution animation.

If you want HD animation… well, look at what Pixar et al spends on rendering for the big(ger) screen - and yes, it takes even them months.

BTW, I noticed some instability in 2.42 as well. Possibly there’s a file corruption issue - I had a bad file that crashed Blender on every load.
I had to go back to a previous version, and did basically the same things, but it was fine the second time.

SAVE OFTEN (use “F2, +, Enter” - increases the file version by 1 easily. Also change the default number of automatic file saves and save frequency from 1, and the temporary directory to somewhere more reachable) (after you get that insane vertices count down that is :slight_smile: )

Yes, you’ll want to render individual pictures not animations in case of crashes. As mentioned, you almost certainly want PNG or TIFF rather JPG. JPG saves space with photos etc but PNG has good compression and is lossless. You can pull them into a movie with lots of programs afterwards, including the Blender sequencer.

(My book:) )

TURBOCACHE card accesses system memory and thus bottlenecks your computer performance. ORDINARY 6200 might be better choice (it’s a 6300 for pcie iirc)

first u can allways try blend2pov(i dont know if its faster, but u dont lose anything in trying).
second, did u check por duplicated vertices?
(in edit mode, W->remove doubles)
and for my final tip, dont use potato view when u r moving your scene, if u r doing that, it may explain the jerkyness

POV is not very fast, from what I know - its better for accuracy. The duplicate vertices is a good point though.

Jon, what is the framerate? 5000 frames even @ 25 fps is over 3 minutes! For an animation of something like this, you shouldn’t need a high frame rate, would you?

Is PAL interlaced? That’s another way to cut down the time, by using fields, if in fact you’re going to TV video - half the vertical lines per frame.