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.
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.
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.
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 ?
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.
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 )