Topics by tag:
Recently published articles by Dave G:
I get in the occasional flamewar since I do 3D on a Mac and invariably you hear some assumptions the Mac version of any 3D app is probably slower. It’s usually thought that, since 64-bit versions have been around for a while on Windows, that they are more “tuned.” That, since they are the majority platform, they see more coding effort. The truth is that most 3D graphics software is not hand tuned for any platform, since the majority of 3D developers like Autodesk, Next Limit, SideFX use cross-platform development kits like Trolltech’s Qt, that facilitate making cross-platform applications. “Optimizations” for one platform or the other are rare since these types of things branch code, wasting time spent getting releases to market. If you’ve ever been part of a beta test, you know how up-to-the-wire it can be, and there is simply no time for idealistic things like lightning-fast code on all platforms; most of this stuff just has to get out the door working and not breaking when you throw stuff at it. These aren’t my assumptions. I’ve heard it first-hand from developers at Autodesk and others.
So that puts an emphasis on the compilers that are used. If they don’t do a good job of optimizing by default, then code is not going to sing and that’s where performance is lost. But this sounds like conjecture. Let’s look at some benchmarks to see if this holds true in reality. I know what you’re thinking: “you’re a Mac guy and you’re about to show me cross-platform benchmarks? Pffft.” Well, I didn’t just do these benchmarks to prove my point. I recently reinstalled Windows 7 64-bit on my 12-core Westmere Mac Pro and am reviewing the Quadro 4000 Mac edition and wanted to see if CUDA rendering is the same on both platforms. So I thought I’d test some other renderers out at the same time and make a blog post out of the results. I get a lot of people like school graphics lab techs asking if they should boot their Mac Pros in Windows because they do 3D and have the same assumptions I mentioned above. I also need to know this type thing (the facts, not the zealot results) for my articles for Ars Technica. If you saw my older Quadro FX 4800 review, you’ll see I’m not shy about calling out OS X’s failings where they exist.Test Machine
Mac Pro Westmere 12-core 2.66 GHz
Lots o’ stuff attached
Mac OS X 10.6.6 64-bit kernel
Windows 7 Ultimate x64
As you can see from the vroom image below, all hyper threaded cores, RAM and everything show up fine in Windows:
I’ve been benchmarking software for a long time, so I know how to do it properly. The test machine is running all the latest drivers in both OS X 10.6.6 64-bit and Windows 7 64-bit and I took care not to have anything like disk indexing (turned off in Windows 7) and Time Machine backups get in the way. All programs are the exact same versions and revisions and they are full official releases, not some warez grabbed from the net. If anything, the Windows 7 side has a bit of an advantage because it’s a fresh install and I don’t have as many services running on it as I do on the OS X side. But wasn’t out to “win” for the Mac, I was just trying to get an idea of any differences that may exist. Command line/Command prompt renders were done where possible (always consistently across platforms) and only one of these is disk intensive and output was written to the same drive for that one test. So, on with the results.mental ray for Maya (version 2011 SP1)
I did test with a scene that has no disk-based texture files, just complex procedural textures, sun and sky and a linear workflow:
The results for both platforms:
You can see the recalled settings below the results are exactly the same so there’s no trickery here. Yes, that’s a big difference in favour of the Mac. I’ve known that the Mac version of mental ray is faster for a while but this was a bit of a surprise to see it’s that much faster with this scene.V-Ray for Maya 1.5 SP1
V-Ray for Maya’s another app that uses Qt so this isn’t surprising given the mental ray results.Maxwell Render 2.5
This is the old Benchwell scene that I managed to back up before the site went down. The Mac results:
The results aren’t very surprising to me because Next Limit told me at SIGGRAPH 2010 that the Mac version is faster as of version 2. Before all you Windows curmudgeons call bullshit on me, check out the coming results.Octane Render 2.43b
This was interesting to me because I would have assumed that CUDA code would be running on the card with little difference between OSes but it’s noticeably faster on the Windows side. Whether it’s because the Windows version is 64-bit or not is hard to say (there is only a 32-bit version of Octane for OS X). What was also interesting is that I had to run the Quadro as the display for Octane to run CUDA in Windows or it would fail to load:
Notice that the card is listed in the Window but fails anyway. It worked when I used it simply as a headless cruncher for OS X, with the Radeon driving the screens.Cinebench 11
ZBrush 4 Multi-Map Export
This was the time it took to export a bunch of maps from ZBrush’s MME. I couldn’t take screenshots for this because when I tried the results window disappeared. So here they are typed out:
Mac: 3 minutes 10 seconds.
Windows: 2 minutes 34 seconds.
Quite a bit faster on Windows. ZBrush is one of the few cross-platform 3D programs that doesn’t use a cross-platform development kit. It has two very separate code bases for the Mac and Windows. I know this from from beta testing and talking to the developers. So this might be one of those instances where you could say the code is more optimized for one platform but I haven’t benchmarked anything else, so it’s hard to say.
So there you have it. Windows has more tuned 3D card drivers but the assumption that it’s just faster for 3D all around is just not true. I know some people are going to ask about Linux but I’m not made of time and setting up another boot disk for Linux just for this would have been too much of a hassle. Besides, when people ask me about 3D and Bootcamp, this isn’t a consideration.
Update: someone asked a question to make sure this was fair so I thought I’d post the question and my answer:
Did you install Win7 on the same HDD as you had osX or on a separate drive you swapped in as boot drive?
….where relevant the drive wrote output to the exact same drive. All of the applications are already loaded in RAM and none of the tests were disk-intensive in the least (the source/out files were under two megs total in all the render tests and the mental ray test had no disk files and they were loaded from the same spot). This isn’t a video rendering test – everything except for 0.1% of the tests is CPU/RAM bound and I have 15GB of RAM, which meant no paging to VM was done in any of these since they were the only process running. I have been running benchmarks for Ars for at least 6 years.
Short answer: I know how to objectively test the CPU across platforms.
6 notes | Permalink