Speed up Cycles? Maybe turn down realism?

Hi. I have a Nvidia GTX 650 1GB GPU and I have been learning cycles lately. I don’t have a very new motherboard in my computer, so I cannot render as fast as the card can go. But now to my question:

Is it possible to speed up Cycles? I know that it is possible, as I have used Andrew Price’s ‘4 Ways to Speed up Cycles’ and the Tips to reduce noise on the Blender Wiki. But I was wanting to render movies with Cycles.

Here’s how it goes: if one frame of my movie takes 5 minutes to render (1080p and 200 Samples) and I have over 300 frames, it will take 30 hours to render! So I was wondering if I could turn down the realism in Cycles a bit to speed up the render or if there were other ways to speed it up.

Thanks to all who reply in advance! :slight_smile:

-rioforce

Well, you could render on your CPU and GPU. Somebody on this forum mentioned this. For CPU you can use the non-progressive integrator which has become quite useable with the last commits. 30 hours of rendering an animation isn’t that bad :slight_smile: Or use a render farm. Honestly 5 minutes for a fullHD frame isn’t really that bad.

True, but considering the movie is 12 seconds (300 frames) long… :stuck_out_tongue:

I heard about the Non-progressive rendering. Too bad it’s not here for GPU… Even with Progressive, my GPU is faster than the CPU can render… But about the realism, is it possible to turn down some of it (i know there’s not just a Realism switch in the Properties window. :stuck_out_tongue: ) but is it possible to just reduce some of the fancy lights to make it a little less realistic, but still be Cycles? (That might not make sense…)

I meant CPU+GPU at the same time. You launch two instances of blender (set one with GPU and the other one with CPU) and render at the same time, because cycles only uses either CPU or GPU and the other one is unused. Or you can render fewer samples and you’ll get a noisier image which could be than composited and denoised quite a bit. You can simplify your scene - break it to smaller parts and remove all unnecessary and make tweaks. You can render with lower sampling and only render the most problematic parts separately and then compose them. But all of this is a tradeoff between time spent on tweaking and computer rendering time. Also make sure to light as much as possible with direct light because that converges more quickly.
As a tip - you can render with a few samples the whole animation and then change the seed and render it again and mix the two results with 50% factor. Or render only selected parts for the second time.

you can try turning down the bounces for all ray types, how much of those you need realy depends on the scene. if you have mostly diffuse surfaces with lots of direct light, 1-2 bounces can be enough, for more complex stuff (more indirect light, badly illuminated scenes, many reflections/transmissions you may need more).

<10 min per frame is a good value

i have currently 19 min per frame using all tricks
and i miss non progressive gpu in cycles

Only use the diffuse shader. The glossy is what slows things down.

Two quick points:

  • For GPU rendering, only the speed of the GPU matters. Take a look at this FAQ for a more thorough explanation why. Your motherboard/CPU/RAM is completely irrelevant
  • The trick of GPU+CPU rendering, have you benchmarked it? I tried on my system, and it completely murdered my system, leading to a combined rendertime much worse than only GPU rendering. I’m not saying you are wrong here, logically it should work as far as I can see, but my practical experience was that it wasn’t worth it. (Also: for a complex scene the GPU is so much faster that the CPU is completely useless in comparison if you have a fast GPU).

I’m putting the finishing touches on a Cycles HW FAQ and (linked above) and I’d like to include the GPU+CPU option, but my experience was negative. If someone has had positive results with this in practice (i.e. not just for tiny test scenes), I’d love to hear about it.

Here is an artical on how to make cycles fast:http://www.blenderguru.com/4-easy-ways-to-speed-up-cycles/

-Thanks

Thanks everyone for the replies! :smiley:

So from this topic I understand that:

  1. Motherboards don’t affect speed.

2.CPU and GPU is slower than GPU by itself and shouldn’t be used.

  1. Glossy shaders make the render time longer.

Now I have a few things to say: :stuck_out_tongue:

I rendered 100 frames of my video last night and it took 4 hours. Which isn’t too bad, I suppose…

Now I have a few questions:

  1. Does an HDR probe slow down rendering any compared to a normal light/light emitting plane?

  2. If I take off the Glossy shader on my character, can I add a Spec map and a reflection map to mock it without slowing the render time?

Thanks! :smiley:

-rioforce

On your points 1, 2 and 3 I believe you are correct, though I frankly think it should be investigated a little more if the GPU+CPU can’t work well in some settings (I was quite surprised to find it didn’t in my tests, but they were not very thorough).

HDR offers a lot more color depth -> more data -> more calculations -> longer rendertime. You GPU is nothing else than a small parallel computer inside your PC/MAC. While it has a lot more cores than your Intel/AMD CPU, they are also a lot slower. As you add more data that makes more calculations, but it will also benefit more clearly from a decent GPU, as these are tasks ideal for breaking down into discrete calculations which can be run in parallel.

As for your last question I can’t say - give it a spin and report back! :wink:

PS: Another potential issue with HDR textures, is that a identical sized HDR texture (identical X and Y dimensions) will consume several times more VRAM (the RAM on your GPU) than a normal texture, as it has a lot more data per pixel. Normally fine, but I’m just mentioning it, as if you hit the GPU RAM ceiling, you’ll either have to reduce the RAM usage or switch back to using your CPU.

if you mean “sample as light” option in Background preferences panel, it is. By default, cycles probe background only if ray fired from camera hit noting, But, if you enable “sample as light”, background will be probed as another light. Speedup very depend on scene geometry and how much HDR image far from flat constant color. With that mode enables, Cycles build coarse 2D brightness map, and use it for importance sampling.

dont use cpu and gpu render unless you have more than 4 cores… i had a scene that was rendering in 16 seconds on gpu so i opened a new blender window and rendered that on my cpu with only 4 cores of my 8 core cpu and it was rendering in 23 seconds a frame so i had them both rendering… rendered 640 frame animation in like 40 min but i also had another window for my 2nd gpu that was also rendering in 16 seconds XD it was rendering so fast with 2 gpus that i had to split it in to 2 windows or else i was wasting time

Brilliant! Thanks for the replies! I will try some more strategies to speed it up soon. :slight_smile:

Sigh… I am still waiting for nodes that will allow me to make use of GameBlender-style rendering options: to be able to quickly generate an OpenGL-style base image upon which I can then elaborate, using CPU and/or other techniques to “sweeten” the rapidly-generated result in separate and unrelated passes. Blender’s changing so quickly these days … Am I missing something?

Well, I’ve done a Cycles Speed test (Glossy Shader VS Diffuse) and here are my results:



Diffuse (Only HDR Light): 1:26

Glossy (Only HDR light: 2:02


Diffuse (HDR and Lamps): 2:35

Glossy (HDR and Lamps): 3:26


True, the results of Glossy are a bit slower, but for a better movie or render, I’m willing to add a minute to my render time. :slight_smile:

I also did a few more tests featuring Cycles, but here’s one I’ve always wondered about:

Cycles Render, 256px Tile Size V.S. 512 Tile Size.

512 tile size is actually slower (by 1 second. :stuck_out_tongue: ) than 256 tiles. So the bigger isn’t always the better. :slight_smile:

-rioforce

NOTE: It appears that the original time of the render was wrong. It doesn’t take 5 minutes to render. My computer must have been slow or something. I rendered out part of my video and it took 3 minutes to render each frame…