Subpart Rendering?

(tango) #1

For those of us who have multicore/processor systems, this definitely pertains to you. I’ve experienced renders where all the cores in my system will render an image, but one of the cores will get “stuck” on a hard part of the image while all the other cores idle. This isn’t a bug in the system/blender, but just rather, the unlucky core got the part of the image that is the most complicated compared to other parts of the image that aren’t so complicated.

Is there a way to have the other cores see that there is only one “part” of the image left and all contribute to getting it rendered even faster (like the thread title says “sub parts”). With the Suzanne Render Benchmark I’d rather not bump up the number of parts (because it can add seconds (or more, I haven’t tested) to the rendering time of an image). If it doesn’t exist currently, what are your thoughts about it and could it even be implemented?


(IamInnocent) #2

I doubt that there is anything already in Blender that could subdivide one single part of the image ‘as needed’. If you can anticipate that you’ll be running into that problem, say that you have a glass of milk that involve transparency and SSS while the rest of the scene is rather standard, you could increase the number of tiles (the Xparts and Yparts buttons) so the problematic tiles will take less time in themselves to render and, being more numerous, will spread better among different threads.

I just ran such a test and the results are 5:31:50 for Xparts=2, Yparts=2 compared to 4:27:42 for Xparts=12, Yparts=12.


(vitaliy) #3

yeap, thats what i do, i just set more parts to the render so that my other cores kick in and render those parts without loading it all on one core