Blender-Boosters: Render optimization script to reduce animation render time.

So I’ve been working on this little script for a few weeks and I’ve finally got a proof of concept working.

What the script does is manipulate several of the blender render settings within a genetic algorithm to find the settings that have the fastest render time within the context for your scene and machine.

In some of my tests of rendering the default cube I was able to get it to render 17x faster [or about 6x faster if you include the total time it took the algorithm to run in an animation of 250 frames] with almost no loss in image quality.

However, just as it sounds, it is too good to be true. In all the testing I’ve done so far, as soon as you increase the complexity of the scene you are rendering the only way to save on render time is to reduce the quality of the output images.

And so it seems that it only works for extremely simple scenes or in very specific use cases will it reduce the total render time of an animation. So feel free to take a look and test it for yourself.

The program it’s self needs a lot of polishing but it works. I feel pretty sad that my hours of work didn’t really pay off. :confused:

Link to Github page

Cool idea. I’ve thought about something similar. Couple thoughts I’ll throw your way:

  1. Are you testing for noise levels? Or just what renders the fastest? You could render a very fast render with tons of noise. (edit, I see you’re just testing a mean pixel difference per image, which is a fairly simple test) One thing you might want to look at is doing a perceptual difference test:

Especially with path traced renders you will get changing noise levels.

  1. You might be able to get away with testing random frames/crop windows of frames rather than full renders.

  2. Some of the settings you have there affect only render time, where some might affect final image quality as well. Might be good to separate those.