With Parallels and VMWare Fusion having been around for a while now, have they developed the power to cope with the demands of CAD applications?
People often ask me if Autodesk will release a Mac version of AutoCAD and, while evidence would suggest that they are seriously considering it, there are not yet any solid answers. There may, however, be another way: virtualisation software for the Mac has matured a lot in the last year or so and both of the major players (VMWare and Parallels) now offer 3D acceleration in their products.
We know that a virtualisation solution will never be as fast as running software natively using Boot Camp – the aim of this article is not to test that. The strength of virtualisation software lies in its capacity to let users run Windows software without re-booting their machine; both VMWare and Parallels can seamlessly integrate Windows programs with OSX, making the experience much more convenient than with Boot Camp. What I want to find out is if either of these pieces of software can run CAD programs at an acceptable level for day-to-day work.
Test Setup and Methods:
For the test we used a Mac Pro workstation with the following specification:
CPU: Dual Intel Xeon X5482 (4 Cores, 3.2 GHZ, 12MB L2 Cache)
Memory: 16GB of RAM (800 MHZ FBDIMMS)
Graphics: NVIDIA 8800 GT with 512MB GDDR3 onboard
Operating System: OS X 10.5.7 with all current updates
Hard Disk: 500GB 7200 RPM Seagate 7200.12 SATA 2
VMWare Fusion 2.0 and Parallels Desktop 4.0 were installed on a clean, fully updated copy of OSX. Windows Vista is the only 64-bit operating system supported by Boot Camp so it was my choice of guest operating system (although it is worth noting that both VMWare and Parallels fully support Windows XP 64-bit). Each guest system was given as many virtual CPU’s as the software would allow (2 for VMware and 4 for Parallels) and assigned 4GB of RAM. 3D acceleration was also turned on. All other settings for the virtual machine were left at default to simulate as close to an out-of-box experience as possible.
I wanted to see what the software could do without any tweaking as this is how I believe most users will experience it. AutoCAD was chosen as the test software as it makes good use of both the CPU and Graphics Hardware so should give a good idea of how CAD applications will perform.
Once Vista was installed on the virtual machine all current updates were applied and AutoCAD 2010 was installed. The virtual machines were set to a screen resolution of 1280×1024 and switched to full-screen mode on the Mac Pro. Parallels/VMware tools were also installed. The testing under Boot Camp was also conducted at a resolution of 1280×1024.
For the testing itself I ran a script that opened several 2D drawings and 3D models in sequence and performed operations on them. To test 3D performance, the models were rotated in wireframe, hidden, conceptual and realistic views. To test 2D performance, lines, text, and blocks were created and erased, and zoom functions were also tested. To test the disk and CPU performance calculations were carried out; 2D objects were arrayed and the drawings were saved in both .dwg and .dxf formats. All operations were timed and, based on these times, individual scores were calculated for the 3D, 2D, CPU and Disk performance.
I ran the script 5 times under each setup and averaged the results to get the final (normalised) scores shown below (taller bars = better performance).
As you can see the virtualisation software was pretty close to running AutoCAD natively under Boot Camp in everything except 3D graphics. The disk scores were actually higher in the virtual machines than under Boot Camp (I have verified this result and can only conclude that there must be some kind of caching going on in the background to account for this).
The CPU scores were all but identical, proving that both the VMWare and Parallels hypervisors can execute CPU instructions with almost no overhead. This is thanks to Intel’s VT-X (hardware support for CPU virtualisation allowing CPU instructions to be passed from the virtual machine directly to the CPU) being built into the CPUs of all Macs. The 2D graphics scores were also very close, with only two points separating VMware and Parallels. They weren’t quite as fast as Boot Camp but the 2D performance of the virtual machines was perfectly acceptable.
This brings us to the 3D performance. VMware was slightly faster than Parallels here but the win is academic (and within the margin of error) as neither could come close to the level of performance possible while running under Boot Camp. At this point I decided to repeat the tests using the OpenGL renderer built into AutoCAD as opposed to the Direct3D renderer. My reasoning behind this was that OpenGL is a public standard so may be better supported by the virtualisation software. The results I obtained were even worse than with the Direct3D renderer. Again there was little to separate VMware and Parallels but the scores were around half those obtained with the Direct3D renderer. OpenGL in AutoCAD is generally slower than Direct3D so this result needs to be taken with a pinch of salt but the conclusion we can draw is that neither OpenGL nor Direct3D is fast enough to be useful.
Based on the results of these tests I still don’t think virtualisation software is an option if you use any type of CAD application that requires 3D performance. For 2D applications such as AutoCAD LT I don’t think there would be any noticeable performance difference between running natively and running in a virtual machine provided the host machine had plenty of RAM available.
Currently, 3D acceleration is difficult in a virtual machine as it has to be emulated in software. The results of the test clearly show that this has significant overheads. The new generation of Intel CPUs contained in the early 2009 model Mac Pros support a feature called VT-D.This extends the capabilities of VT-X and allows users to dedicate an entire graphics (or other expansion) card to their virtual machine. In turn, this means there is no longer a need for the slow software emulation layer and should allow 3D applications to be run inside a virtual machine at similar speeds to running them natively. Currently, VT-D is not supported in Parallels Desktop or VMWare Fusion. It is supported in the beta version of Parallels server. VT-D is still relatively new so I’m keeping my fingers crossed support will filter down into the desktop applications soon. Watch this space for a test as soon as it is!