In this corner, weighing in with NTFS, Microsoft's flagship product, Windows XP! And in this corner, weighing in with ext3, staying the course with open source, Linux! Who will be victorious in the battle of the decade, nay, the century! MPAN3 pits them together to see who renders the fastest.
After the release of Blender 2.40, Mike 'MPAN3' Pan ran a test of rendering performance using Windows XP, Gentoo, and Knoppix, using various compiles of Blender. From his test it seems that the two Linux distros and Windows XP a fairly well matched. Though when using Gentoo and an optimized Blender, rendering time decreased by up to 20%.
I'd love to switch to linux for my work, but as many times as I've tried it, I just haven't been able to stick with it.
2 Reasons Primarily.
1) The Gimp, is a lovely piece of open source software.. but, it doesn't agree with me. I need something more photo shoppy.
2) Tablet support.. I've never actually gotten my Wacom to function properly under any distro. Usually it just ends up as a mouse pointer with no pressure sensitivity.
I bet that the optimized Windows builds of Blender do just as well as the optimized Linux builds.
I love Gimp... I've actually become better at it than photoshop.
Does anyone know if the renders where made in background mode (via the console/command line)??
Blender is known to render faster in background in a linux machine:
Quote from http://www.blender.org/cms/Linux.301.0.html :
Is there any advantage of running Blender on Linux?
Yes, specially on the speed department. Many users (including myself) have reported that Blender loads and renders noticeable faster on Linux than in other operating systems. Please take note that no matter what operating system you are using, rendering from the command line is (on 99% of the cases) faster than rendering from the GUI.
Besides, considering consumed computer resources, Linux puts a lighter load on your CPU, thus leaving more free resources to be used for actual 3D work.
Hmm, I wonder if using IceWM would give a significant speed increase. I rendered a scene using XP, and then I rendered it with Mandrake Linux using IceWM and I seem to remember getting about a 30% speed increase. I wasn't doing any sort of a real test, though.
By the way, you guys have tried GIMPshop, haven't you?
Windows managers have a very little (if any) effect on performance. I use the GIMP all the time and I have no reason to use Photoshop. GIMP does everything that I currently need.
I've tried rendering a scene of mine on both Windows XP and Ubuntu 5.10 on the same machine, and Linux rendered a noticeable amount faster then on Windows. Both OSs had been tweaked for as much performance as possible too.
I use Windows XP however. Like Loken, I've haven't been able to stick with it either.
I'm a Gentoo user as well, going on four and a half years now. One thing I've noticed (besides the speed gain) is the responsiveness of the system under load. When the windows system is maxed out doing a render, the responsiveness of the desktop just CRAWLS. It's awful. Under Linux, my CPU can me maxed out at 100% and there is no (noticeable) slowdown in the desktop. I can even watch a DVD while rendering something without it effecting the DVD playback. Linux's kernel scheduler is just fantastic.
For those looking to squeeze a little more speed out of their linux box, Ingo Molnar's realtime-preempt kernel patch gives the system a nice boost. http://people.redhat.com/mingo/realtime-preempt/
Glad people appreciate my benchmark. Here is a few extra notes for clarification:
1) all renders are done under BLender GUI, not command line.
2) Window manager does not affect the result in any significant way
And now the exciting news:
I've finally managed to compile an optimized Blender under windows, unfortunately i only realized now that I've compiled the latest CVS, not 2.40 source. So the result might be skewed(especially since the renderer recode). Take it with a grain of salt.
I used Linux to, the great feature is in the Multitasking of them. Because under Win XP Sp2 my blender render was slow down the system, same mashine under linux debian work not faster but i can do other things at the same time i was render. This ist because blender use Memory other as Windows, my swap is not often in use.
Windows might be render faster, but i can work during i render under Linux ;-)
soo Mike MPAN3 Pan; how exactly do I go about compiling blender with those optimizations i Linux?
Just step by step, just imagine im in a terminal in the blender source dir.
Thx in advance :)
Hi Mike, nice test!
I read on your site that you use -ffastmath in your heavy optimization. This gives you a large speed boost, cuz all kinds of math tests are skipped. Unfortunately this can lead to errors in math calculations. I did a build with -ffastmath once, but this gave artifacts in my renders.
Did you see such artifacts in your renders?
Just in case you're curious, Wacom tablet support on Linux these days is pretty solid. It doesn't normally ship with distributions (ie you have to compile and install it yourself), but it isn't too difficult - there are some excellent step-by-step guides on the driver homepage. The drivers and the guides can be found at http://linuxwacom.sourceforge.net/ . Works like a dream, too :)
Hope this helps somehow!
Have you tried SuSE (now freely available as OpenSuSE)?
During installation you just have to know where your Wacom tablet is connected (USB or serial) and what type it is. You enter this information during the display configuration and will have perfect tablet support - pressure sensitivity in Gimp included.
Running this for some years now with my Wacom Intuos (serial) - never had any problems.
In response to previous posts:
XP's process management is a bit kinky, try a free program called ProcessTamer, it automatically lowers the priority of any program that uses too much CPU cycles. Thus, preventing some major system slow down.
I used a package management system called Portage under Gentoo. With one command (#emerge blender), it automatically fetches the latest stable source from the net and compile it for me using a set of flags defined in /etc/make.conf. You won't believe how easy it was.
I did use -ffastmath but I havn't noticed any problem with Blender or the rendered output as of now. It might be "less precise" in certain areas, but not noticeable in my test renders. I am not a gcc guru, but my guess is that -mfpmath=sse ensures all fp math is done in sse which yields acceptable accuracy?
Ah, that is nice to know! I'm no gcc guru either, so I should try -mfpmath=sse one day :)
@mpan3 and Laurens: The -ffast-math option is not "less precise" but rather it results in more precision in floating poit calculations. -ffast-math results in 128bit precision while not using it results in 40bit precision. It's one of the few optimizations out there that result in both better precision and speed. The only reason that the option is not enabled by default is that the old (really old) IEEE standard calls for 40bit precision.
You can read up on it in the GCC man pages.
WeÂ´ve rendered in XP, SUSE 10 and Mandrake 10 by command line, the time seems to be the same. But if you spend more than 1.5 GB of memory in your rendering, Windows will crash. Linux will continue to the end of the frame.
Project Orange had the same problem, you can read it in the entry "Stupid Memory Problems" by Ton.
I took the bold step switching to Linux about a year ago. Blender wasn't the only but one of the most important reasons.
By now I even managed to get my Wacom Intuos III working, with ALL features enabled.
I never regretted it and now see Windows merely as a complimentary OS for Software that simply isn't availabe und Linux (I do a lot of development in Flash MX).
I don't see any reason to swap to linux for that 0.01 speed improvement under precompiled versions.
You don't mean to start an OS war, do you?
I was just about to answer you in full length, when it came to my mind that this could be an even more evil april fools posting.
I wouldn't say going from 2:02min to 1:35 is a "0.01 speed improvement"
Going back to the platform argument, you gotta do what works best for you. I've seen more of these silly platform supremacy discussions for longer than I care to, and it's like those Kirk vs. Picard guys, really.
I'll stay in Windows because I've made a significant investment in Windows, and that's that. If I start a render farm, however, you can be sure I'll end up with Linux machines, and if I other digital artists join, I'll probably have a few macs in as well.
now at my place i have a gentoo mosix cluster of 3 p3's about 500mhz each, little ram: 128mb
at the 'http://www.freaks.jenus.nl' site (mostly in dutch)
i believe there may be some remnants of the cluster in it's 6 unit configuration (knoppix screenshot of the nodes under 'projects' 'cluster' 'beowulf')
it's being rebuilt slowly (something went wrong during portage i think)
only one node has a gui installed.
i want to strip em all of xorg or xfree86, because blender is supposed to be able to work without that.(all OGL right ?)
then make a knoppix-like distro and give it to the community.
I hope despite my newby intelligenge those who do KNOW will tribute to a blender-clusterOS linuxdistro withoutX (mosix or XEN)either at my site or their own; - the point being: IT IS OBVIOUSLY NEEDED !
(for anyone, and especially the glory & power of blender (blendrix?))
by the way, off course the usefullnes depends on the ability to have the external renderers run faster on linux than windows, AND on the need to pay licence to $soft.
so every time you upgrade to a new computer, keep windows on the one you work with, and use clusterknoppix on the old one(s) then you end up with a jbon (just a bunch of nodes)- private renderfarm, to witch you can parse your (test)renders while being able to continue working on your main station.
(PS the cluster-stuff at freaks.jenus.nl is about a year OLD, in about a month there should be newer stuff)
I find using nice values in Linux can greatly improve Blender render times.
"nice -20 blender"
Will tell the Linux kernel that "blender" will use all processor cycles.
A nice value of "0" makes the processor values equally shared across all programs.
And a nice value of "20" means it will do it very slowly in the background.
Where nice values used in these tests?
For those of you still "wishing" you could run Linux as your main OS at work, you're living under a rock.
Now with virtualization programs such as VMware, it is easy to make a basic disc using easyvmx or some other creater, booting it up in the free vmplayer and installing as if it was a different pc in a window.
I've been using ubuntu as my main os and xp in a window for quite some time and i'll never go back!
Between linux ubuntu 32 bit and windows xp 32 bit there is no significant speed difference. However, 64-bit ubuntu was remarcably faster, up to 40%. When there was some glass like objects in the scene (and ray tracing on) ubuntu got extremely sluggish compared to windows xp.
Has anyone else noticed this? It is not only between windows and linux but a matter of evaluating exactly what kind of scenes one is about to render, glass like objects or not.
Of course I hope that someone on the development team is aware of this and check things out if there is a way to speed ray tracing option in blender. Linux was so slow to render glass that I got suspicious there might be a bug in the (ray tracing) rendering pipeline.
quiss42: "You don't mean to start an OS war, do you?"
Euh... mean? Start a war by expressing my thoughts? You are a silly man, if a war starts from this then you are starting it. Expressing thoughts is a democratic paradigm.
I'd say get a Gui friendly OS to interact with ( and tastes differ so get one that fits you ) and get a renderfarm that can be maintained by you or somebody you know and/or can afford. Its no use having 10% faster renderings if you have to spend 10% more manpower into getting it to work. But if that's no issue then go for it.
Get the fasted for the lowest price, just include all costs in the calculation ( so yes, windows is 300$ to start with? So I can work 3 hours for that, that's not enough for me to learn what a /etc is. )
$100 an hour? I want that job.