It is very likely that you have read about virtualization and how it can make IT's life a lot easier. Virtualization has also become useful for people upgrading their operating systems, since they can still run their old applications on their new system, inside a virtual environment. Even better, people can run applications inside virtual systems without the risk of that application ruining their main system.
At first sight, virtualization may seem like the answer to all your prayers, but there are some things that virtualization can't help you with (yet?). For this article, I tried two different virtualization softwares, in order to figure out if virtual machines would be good enough to meet the demands when it comes to 3d animation. There are some others, including Parallels and Moka5, but I focused on these because one of them is free (Microsoft virtual PC) and the other one is known as the best virtualization software out there (VMWare).
The first virtualization software I tried was Microsoft Virtual PC 2007. Virtual PC is a free download available from Microsoft's website, and it's compatible with both 32bit and 64bit (it's a different version for each OS). Actually, this one is aimed at ITs wanting to deploy newer OS versions (such as Windows Vista), while keeping their "legacy apps" available on virtual computers. This means that Virtual PC is meant to virtualize different versions of the Windows OS. As you can tell, there's an option to select "other" OS. However, I am not sure if Linux could be installed on it since I didn't try it myself.
Microsoft Virtual PC's biggest advantage is that it's free. You can connect your virtual system to your network, so it can appear as another computer. This means it can share folders, documents and also access any network drive. The biggest disadvantage is that it doesn't support USB devices. This can completely make you forget about even considering Virtual PC, if you need to use any device that plugs into a USB port (such as scanners, printers or external capture devices), or if your software uses a USB key.
The second virtualization software is VMWare Workstation. This is considered as the best virtualization software available. It can run pretty much any operative system you can think of. VMWare also runs on both 32bit and 64bit systems. I tried the software with both Windows and Linux virtual machines with varied results, and that gives me a very good idea on whether or not I could virtualize 3D software applications.
Virtual PC was the easiest one to test, since it natively runs Windows systems. It can run DirectX, although that doesn't make much difference since DirectX is mostly used by games, and I don't know someone who would actually virtualize Windows just to play games instead of playing them in the host system. On the other hand, when I ran Maya 2008 on my virtual machine, the results were less than satisfactory.
Maya itself runs at decent speeds, but that can't be said about the viewport speed. A turntable animation of a Poser model (Victoria 3) didn't return more than 13fps on wireframe mode, while the same animation on my host OS (Windows Vista) ran at nearly 65fps. I have to add that the maya file was optimized for speed (the character didn't have deformers nor bone-based animation, so all Maya had to do is draw the model in the viewport). I can't think of any scenario where a user would like to run a Windows virtual machine -inside Windows itself- just to run a 3D application, but I still ran the test because I needed to check if the virtual machine was able to carry out the task if needed.
On VMWare, I decided to try Linux before trying Windows. The OS itself ran very stable and the performance was very good (keep in mind that I am not a Linux user, so I didn't know what to expect from it, be it blazing speeds or extreme multi-tasking). The easiest way I found to try the 3D acceleration capabilities of VMWare was to install "Compiz Fusion", a hardware-accelerated desktop environment for Linux. Luckily, the installation is a very user-friendly double-click procedure (on openSUSE, at least), but the 3D effects were nowhere to be found. After exploring the OS, I found out that the OpenGL hardware acceleration was disabled on my virtual machine.
I don't have Maya on my Linux VM, so I couldn't test my scene on it. However, finding out that my virtual machine had no hardware acceleration capabilities was enough to tell me that Maya would not have run smooth at all (not the viewport, at least). I am assuming that hardware acceleration should be turned on by default (I have no reason to think otherwise, unless openSUSE was "crippled by nature"), but if I am wrong, and hardware acceleration is indeed turned off by default, you are free to leave a message telling me how I can turn it on.
Maya on the Windows virtual machine on VMWARE was no different than the one on Microsoft Virtual PC; the animation even ran at the same speed.
According to the VMWare Workstation manual, there's "experimental 3D acceleration" support for DirectX applications, but it didn't help at all to improve my "Virtual Maya experience". I am guessing that's the same 3D acceleration available on VMWare Fusion for the Mac (it is known that Mac users often use VMWare Fusion to play games inside MacOS). To tell the truth, I don't see that much real advantage of that DirectX 3D acceleration support on 3D applications, as they use mostly OpenGL (except when you have to test game engines and such).
Keep in mind that I am not, by any means, stating that virtualization is not as good as everybody says. Virtual machines are very useful when you want to use old applications that your OS doesn't support anymore, or when you want to try a software package without compromising your main operating system. I just wanted to show you that virtualization is not suited for all computing tasks. Maybe you are using a dual-boot system, using one OS for 3D apps and another one for video and photo-editing, and you considered virtualization to be a good option. It may sound like a good idea and a time-saver, but I wouldn't recommend that approach after the results I got.
Some Linux users say that WINE is the answer, and that you can run any Windows application on it, but I have to disagree. I found WINE too slow to be actually useful (a small program such as UVMapper ran twice as slow on WINE). Some could blame it on the virtualization, but the rest of the OS worked very well, so I can't find a reason why Windows applications running on WINE were slow, other than WINE itself being slow.
Should you still try virtualization? Definitely; I am still running Virtual PC on my system because I've been using that virtual machine to install the software I only use for a given period of time (such as the circuit-design applications that we use in the University). On the other hand, if you talk about digital content creation and 3D animation, virtualization is not the way to go.
copied, printed, or reproduced in any manner without written permission.
Animation Alley is a regular featured column with Renderosity Staff Columnist Sergio Rosa [nemirc]. Sergio discusses on computer graphics software, animation techniques, and technology. He also hosts interviews with professionals in the animation and cinematography fields.
January 7, 2008
Please note: If you find the color of the text hard to read, please click on "Printer-friendly" and black text will appear on a white background.