No performance boost from using linux over windows.

Ok, I’ve installed 2.68a on ubuntu linux 13.04

I wish I hadnt though, linux is offering absolutely no performance boost to rendering at all. In face, 2.68a renders SLOWER than 2.66.

In 2.66 my scene rendered in 5m 22sec
In 2.68a my scene rendered in 5m 40sec.

What I have noticed though, is while Linux spends pretty much a minue on pre and post drawing calculations. Windows spends a lot longer on that part, BUT during the actual drawing phase of the render, windows renders significantly faster.

Linux starts “drawing” at 1m 40sec, about 2 seconds post-draw time.
windows starts drawing at 2m 39sec and has about 25 sec post drawing time.

Does anyone have any tips? Part of the reason I spent two days installing linux is because most websites said there was at least some performance boost to be had. But I’m getting pretty much nothing.

Windows render time: 5m 31s.

Hi, there is better performance with Cycles CPU render with Linux, on GPU it is nearly the same.
Older Blender versions are faster because lack of features.
Latest Ubuntu is not the most performant distribution.

Cheers, mib.

So no benefit with normal blender? Just cycles? I wish they’d mentioned that before. Would have saved me a lot of time and frustration! I render with my CPU, but all my scenes are blender. :confused:

Where you read that? Are they websites specializing in benchmarks?

I do not think this you say should be a rule or something that happens in all cases.

In Cycles, my experience is that I get better CPU final render times on Linux than on Windows. And with GPU in Cycles, similar times.

There is also benefit in other CPU parts like Fluids, Smoke and other simulation parts of Blender.
You should try a benchmark file on Windows/Linux with the same Blender version.
You should get about 15-30% better rendertime in Linux.

Cheers, mib.

I’ll do some more testing and see how it goes, has to be said though, that 2.68a (in linux) draws significantly slower than the same scene+frame in 2.68 (windows) though, I can literally see the difference.

Ok I have some test results, WITH PRETTY IMAGES:


Treetop - Renderspeed test

Windows:
Pre-Draw: 37s
Drawing: 26s
Post-Draw: 3s
Total 1m 06s

Linux
Pre-Draw: 29s
Drawing 25s
Post-Draw:0.5s
Total: 54.5s
IMPROVEMENT: 17.42%


Seaside - Renderspeed test:

Windows:
Pre-Draw: 2m48s
Drawing:2m03s
Post-Draw: 48s
Total: 5m39s

Linux
Pre-Draw: 1m 48s
Drawing 3m 50s
Post-Draw 0s
Total: 5m 38s
IMPROVEMENT: 0.29%


Fire test simulation - 80 resolution (high resolution), smoke and fire, 250 frames
Windows:
Start Time: 18:35:12
Stop Time: 18:38:34
Time: 3m 22s

Linux
Start: 23:17:32
End: 23:20:23
Time: 2m 51s
IMPROVEMENT: 15.35%


Water simulation: 125 resolution, 100 preview resolution, 250 frames
Windows:
Start Time: 19:08:20
End Time: 19:33:08
Time: 25m 12s

Linux
Start: 22:04:28
End: 22:51:39
Time: 47m 11s
IMPROVEMENT: -87.24%


Particle test - 400,000 halo particles, with turbulence and wind force fields. 750frames
Windows:
Start 20:54:45
End 21:12:45
Time: 24m

Linux:
Start: 21:24:27
End: 21:42:12
Time: 18m 45s
IMPROVEMENT: 21.88%

So It seems from this there are improvements to be made, but Linux has a lot of trouble rendering with transparency, which is majorly present in the sea scene. Also, linux is absolutely not suited to fluid simulation, but besides that, I guess there is some time I can save with it!

Attachments


I doubt these benchmark results have anything to do with the operating system, whatsoever. On Linux, Blender is built with a different compiler (GCC) and likely somewhat different settings. Maybe your build does not have OpenMP enabled and therefore performs poorly with Fluidsim.
You can try a mingw build (from builder.blender.org) which is essentially using GCC for Windows. That way you should achieve more similar performance characteristics.

how do i check if my build has openMP on it? IIRC that means blender uses multiple cores, and the CPU usage during rendering and smoke simulation says that blender is using multiple cores?

Disclaimer: I haven’t verified any of the information below.

how do i check if my build has openMP on it?

Do a “System Info” under “Help” and then in system-info.txt there should be something like -fopenmp under “build cflags”, if the build was done with OpenMP support.

IIRC that means blender uses multiple cores, and the CPU usage during rendering and smoke simulation says that blender is using multiple cores?

Yes, you can tell from your system monitor whether Blender uses only a single core. Not all multicore support in Blender requires OpenMP. Rendering does not, but smoke sim probably does.

Ok, I have pressed the system info button, and it says it has generated but i cant find the file in either c:\ or the blender program’s directory. Can you advise where it is? I would google, but googles websites aren’t working right now.

Ok just an update, I’m now happy to say Linux is probably MARGINALLY better at the whole render process. I have one complicated and detailed scene and did a sample render of it on my computer which is:

AMD 1055T x6 at 2.8Ghz, 16 GB Ram, Nvidia GTX 460
Windows 7 and Ubuntu Linux, both 64bit operating systems.

The render times I ended up with are given below:

Linux 2.68a (no buildbot) – 22.37.07
Linux 2.68b (buildbot) – 24:07:12
Windows 2.68a (normal) – 23:10:14
Windows 2.67b (miniGW) – 25:35:56

Seems the buildbot versions are slower all round, I was using 64bit software all round so everything was as even as possible. Maybe more recent changes have been focussed on cycles and not internal renderer, thats the only thing I can suggest as i noticed rendering times increased slightly just by going from 2.66 to 2.68a

It’s in the Text Editor.