Here is a little test that I did to show the effect of custom cflags and cxxflags on render performance. This was performed on my Inspiron 9300 with Kubuntu. This is the current Blender SVN version 2.47 and built with cmake and Kdevelop. The only file that has been modified is the CMakeCache.txt that contains the build options, none of the actual source code was modified.
The tests were done using the
.blend file from
www.eofw.org/bench/. The first round of testing was with the source as received from Blender's SVN and the auto generated
cmakecache file from CMake. All of these tests we done with blender from the command line to eliminate the Blender GUI and the system was otherwise idle.
The first round was without any modifications running three renders of the same file:
6m49.082s
6m48.580s
6m48.853s
This equals an average of 6:48.838. The second round was with cflags and cxxflags that are set for my hardware, remember these will be different for each system:
'-O3 -march=pentium-m -fomit-frame-pointer -ffast-math -mfpmath=sse -pipe -fweb -ftracer '
3m17.004s
3m16.773s
3m16.752s
An average of 3:16.843. That's about 3 minutes and 32 seconds difference. The command line output from the tests is located
here if anyone is interested. I also discovered that
BlenderBuilds is no longer offering optimized builds. This is disappointing considering the results of this test. I'm sure that there are other things that can be done to further increase performance and I intend to dig a little deeper to see if we can do any better.
Now 3.5 minutes might not sound like much, but let's look at this from an animation standpoint. Rendering 500 frames at 6:48 per frame is 2.3 days of rendering or about 55 hours. 500 frames at 3:16 is about 27 hours just over 1 day. Something to think about next time you are rendering a big project.