Long render times

I have a scene that is mostly empty space with a few simple objects scattered around. If I render just a portion of the image with just one of the objects it renders within a few seconds, but when I render the entire scene it spends a long time rendering tiles that contain nothing but empty space with each tile taking about 3 seconds. It’s a high resolution image, so it has to render 14,100 tiles. At that rate it’s taking just over an hour to render the whole thing! I’m guessing that if it wasn’t wasting time on dead space the render would be done in maybe 5 minutes.

Any idea how to get Blender to not render empty tiles? I’m using cycles.

Thanks

Crop the area that the camera to rendering. Switch on Border in the render settings, then go into the camera view, press Shift+B to activate the cropping function, click and drag over the part of the camera’s view screen that you want to render.

I’m already doing that, but I want to render it as a single frame without having to piece everything together in Photoshop.

Still a bit light on specifics e.g. resolution, screen shot or sample file to see what it looks like, render settings, hardware. Less guessing on everyone’s side. :slight_smile:

1 Like

I agree with @dgorsman at minimal a screenshot. Are you able to viewport render and if so does it take forever there too? Is the blank space actual blank space or just a plain object as a background? Is there a HDR involved, high end textures? And which type of file format are you rendering out to. PNG, JPEG, TIFF, EXR ?

Try progressive refine

Try making the background transparent. See:

Also try current 2.79/2.80 using 16x16 tiles and GPU+CPU rendering.

If a tile takes 3s on the background, you can probably do a lot to improve your sampling path tracing options, lower samples and add denoise, etc.

I guess what I’m asking is why would Blender spend any time all all rendering portions of an image that has nothing in it?

Here is my scene in the viewport:


And here is the render in process:

And here are my scene settings:

You can turn off the two caustics options for this scene I think.

Go into Blender Preferences, System, and check the box next to your CPU in the compute device list so it’s selected as well as your GPU.

Set your Render Tile Size under Render properties, Performance, Tiles to 16x16.

Try that.

Then try changing the render Sampling to 32 and check the Denoising box in the View Layer properties:

image

The short answer is that it has to render it in order to know there’s nothing in it, and by then it’s too late to not render it. There are techniques not implemented in Cycles that theoretically can make this simpler, like adaptive sampling (so you do a few samples, realize it’s an empty bucket, and move on).

You can also try using branched path tracing with Cycles. It’s designed to cast few primary samples and instead split samples once they hit something, which can be a little more optimized when your scene is just empty space.

Try rendering with really large buckets.

yup in this case you have to render with big bucket tiles

You probably don’t need any bounces at all. Max 1 diffuse for planet illuminating rings.

This is 2.80 and small buckets (16x16) are almost twice as fast as 256x256 for this.

Also GPU+CPU should provide a substantial speedup, but again only if you use small buckets to avoid waiting for slow CPU threads at the end when the GPU is idle.

yeah i just did some test on an empty scene and yeah it’s useless to use bigger tiles, i thoughts in this particular case where the rays hits nothing it will be faster to render with bigger tiles ( cpu side and gpu side )