Suggestions for ways to make my scene render faster?


This image was rendered at 2100x900 resolution with 100 samples and 2 bounces, and it took 16 minutes to render. My problem is that I want this to render in 360 degree stereoscopic VR, at 60 FPS. I can only imagine that this simple shot will take ages to render in VR.
This project is on a deadline. I have researched multiple tutorials to reduce render time in Cycles, and I have successfully managed to get it down from 32 minutes to the current 16 minutes, but at the cost of samples and, as such, quality. Looking at this simple scene, I see absolutely no reason why it should be taking this long to render one frame. Is there something I’m missing?

I even tried going to User Preferences>System and switching to GPU Compute, but there was no GPU option. What I got instead was “OpenCL” and then “Pitcairn”. When trying to render using these settings, Blender gave me a firm “no-can-do”. I would love it if someone could take a look at this file and see if there is a way to render it more quickly. Maybe a different shader on the corridor other than Diffuse BSDF? I tried using the Toon BSDF shader on the background, but it took just as long to render.

Here is the file: Deserted Corridor.blend (3.61 MB)

P.S. I have an AMD GPU.

You could use Blender Renderer instead of the Cycles Renderer. Using your blend file:

Cycles - 1min 41 secs (cpu)


Blender Render - 10.3 secs


This scene is not simple for Cycles at all. Large room + multiple small light sources = nightmare scenario for an unoptimized pathtracer…

I see nothing in that scene which would require the use of Cycles at all. Using Blender Internal as Richard suggests is the way to go.

You misunderstand. This will also be rendered in stereoscopic VR, and unfortunately Cycles is the only render engine that supports this.

point lights and not mesh lights. set indirect clamp to 1.0. opencl is like cuda for amd, but you could be limited on what shaders you use.

if you plan on doing alot of this, definately invest in a nvidia, totally worth it.

So you’re saying I should put a point light where each mesh light is?
I have no idea how to make OpenCL work. It keeps returning “OpenCL Build Failed”. As for an Nvidia card, I am actually hoping to invest in a far more powerful computer in the near future, but I’m relying on the preview clip of this film to get me there.

Cycles vs. Blender Internal has been described as: Blender Internal has to turn stuff on to achieve realism, and with Cycles if you don’t want realism you turn stuff off. Is there really nothing else to “turn off” in Cycles to achieve quick renders? I love how this scene looks in Blender Internal, but there’s no way to render in stereoscopic VR except with Cycles. It’s ridiculous that this scene can render in 10 seconds in BI render and look awesome, but take 16 minutes in Cycles render to look horrible…

As already stated: The problem is that Cycles is in no way optimized for scenes like this.

Cycles shoots rays from the camera into the scene until they hit a light source. With a large room and those small emitters, Cycles simply can’t find the light sources, therefore the scene takes forever to converge. And there’s nothing you can do about it.

There is nothing to “turn off”, as that already is at the very basics of what pathtracing does…

Alright, so what do you suggest? Is there a way to optimize the scene so Cycles will have an easier time?

Is there a budget to give this to a commercial render farm?

Given that your using Ambient Occlusion for most of the lighting, just either set clamp indirect to 1, or turn diffuse bounces down to 0. The mesh lights are barely lighting your scene at all, except being visible themselves.

Otherwise why not bake the lighting at a higher quality and use that to speed it up?

Not yet, unfortunately. The plan is to upload the first two scenes as a preview clip to the Oculus Store as a $0.99 download. After that, I could potentially sign up for a render farm. However, the more likely option will be that I will purchase a more powerful computer (preferably with an Nvidia card).

I just tried both clamp indirect and diffuse bounces, neither of which made much of a difference for me. I also tried baking the lighting, but it kept returning errors (No active UV layer) so I joined the whole corridor into one object, UV unwrapped it, and now it’s baking at 500 samples. So after it’s done, how do I get Blender to not spend time trying to add new lighting on top of the baked texture?

Hang on. I just thought of something. Can’t I just bake in Blender Internal and then do whatever it is I have to do to make the textured room unaffected by lighting in Cycles?

emission shaders i believe would work if you baked it. or use a straight ambient occlusion shader.

I want to recreate the Blender Internal version of the scene to bake the lighting. How did you get the wall lights to emit a glow onto the walls? I’m trying to crank up the emission value on the material, but it’s not giving off any reflection on the walls.

EDIT: Yes, I did recreate the materials in Internal. This is what I’m getting right now:


Actually, no. I’ll just let Cycles bake it. It may take a lot longer, but it looks nicer overall when done. I’ll post an update if I get stuck on anything else. Thanks for all your help!

I want to recreate the Blender Internal version of the scene to bake the lighting. How did you get the wall lights to emit a glow onto the walls? I’m trying to crank up the emission value on the material, but it’s not giving off any reflection on the walls.
In the World settings you need to enable ‘Indirect Lighting’ and set the Gather to approximate.

Thanks, but I actually just ended up baking with Cycles at 600 samples and let it run overnight. What’s bothering me is that the light from the wall lights didn’t bake correctly onto the walls. There’s a little bit of texturing there, but it’s faint and doesn’t really look like light:



This is using an Ambient Occlusion shader for all the wall materials, by the way, and it did speed up the render by a lot! This image took 2 minutes and 40 seconds on my machine! Thank you zeelpal for the suggestion!