When I was doing my renders of the mancandy mesh/rig, it seemed to me that Windows was taking forever to render the scene compared to my previous Blender renders on Linux. A quick investigation on the Blender FAQ stated that, indeed, the Windows version was faster than the Linux version. However, this didn’t make sense to me. My Windows machine is a 3 Gz Computer with 2 GB of RAM. My Linux box is an AMD (2 GHz, I think) with 512 MB of RAM. The Linux version couldn’t be THAT efficient, could it?
While going through “Introducing Character Animation with Blender” I came across the perfect test: a ball bounce that is only 40 frames long. Long enough to see if there’s any difference.
Back to Basics: Bouncing Ball on Vimeo
What’s the verdict? First of all, it’s not a 100% fair comparison. I have Blender 2.43 on Windows and 2.42 on Linux. They haven’t released 2.42 in the Fedora repos yet! So there may be optimizations in 2.43. But here are the results:
|Linux (GUI)||Linux (CLI) Estimated||Windows|
|Total Render Time||481.05 seconds||480 seconds||453.06 seconds|
|Average Time Per Frame||12.026 seconds||N/A||11.3265 seconds|
For the CLI, which means I rendered in the command line, instead of in the GUI, the results scrolled off the screen into an irrecoverable area. So all I had at the end was an ls -lh to try and figure out how long it took to create the files. It lists the time in minutes, so I knew it took 8 minutes, but it may have started late in the first minute and ended early in the last. However, it is significant that it is shorter than with the GUI. My crude calculations say it is only 1 second faster. But, assuming this is correct, imagine a 1 second difference for every 40 frames or roughly for every 1 second of animation, I save one second of rendering by using the command line. Also, at the beginning I was closing out some programs, so I noticed some of the frames took a little extra long. And, I rendered it in a terminal window that kept going dark with compiz. So perhaps it would go faster in the command line in a virtual terminal and/or with no Window Manager running. This is good because the BSD computers I will be using as part of the render farm have no GUI overhead, but they are slower computers. So it’ll be interesting to see how that turns out. Well, I don’t feel like closing out of Gnome just for this test, but I’ll go into a virtual terminal and see if it’s much faster.
Wow! I didn’t think I’d get much of a difference, but I got 411.03!! That’s over 1 minute faster. This is exciting and now I now how I want to render my animations in the future. It was an average of 10.27 seconds per frame! Imagine if it were possible to do this on a machine as powerful as the Windows machine?? That’s the wonder and beauty of the command line.
So, there you go. It’s just that the mancandy rig is more complex than anything I’ve worked with before. That’s why it took so long to render!
2 responses to “Blender-off: Linux vs Windows”
[…] I tested my POS Compaq render node (running freeBSD with no GUI) with the same bouncing ball as in this previous post. It took my node 796 seconds to render the same animation. This is somewhere around 1.65 times […]
[…] In that post, we saw that it took my Linux computer 481 seconds and my Windows computer 453 seconds. So for a slightly longer than one second animation, the windows computer was about 30 seconds faster to finish it. So one might reason that a 2 minute video would finish 1 minute faster and so on as time goes by. So it could become relevant for a long enough animation. […]