31 March 2008

Affordable Virtual Machines Benchmark

I've written an article about virtual machine (VM) for Windows before. I reviewed VMWare Workstation 6.0 and Virtual PC 2007 at that time. Now I returned with some benchmark of affordable VMs software popular in the market.The virtual machines included in the test are:

Here are the screenshots of each VM:

I didn't include VMWare Workstation because it is very expensive and not considered affordable. Moreover, this review is intended for hobbyist and beginners who only use VM personally not for IT professionals. Unlike the VMs mentioned above, VMWare Workstation is considered resource intensive and heavyweight, therefore it needs rather high-end computer to run.I tested these VMs based on its performance (shown by PCMark05), features and application compatibility. I used the same system when testing these VM, and here's my system specs:
  • CPU: Intel Pentium D 940 Overclocked ~3.60GHz (with Intel Virtualization enabled)
  • Memory: 2 x 1GB Samsung DDR2-533 (512MB Allocated for VM)
  • Video Card: EVGA GeForce 8600GT 256MB
  • Hard Drive: Seagate 40GB 7200rpm ATA133 (Where virtual machine hard drive image is located)
  • Host OS: Microsoft Windows Vista Home Basic SP1
  • Guest OS: Microsoft Windows XP Service Pack 2
Firstly, to test each VM performance, I used Futuremark PCMark05 v1.2.0. Even though all of the VM cannot produce a complete result due to lack of 3D support, I simply test some values like HDD speed, graphics performance, web page rendering, text editing, file activities, and AV encoding. For comparison purpose, I also give the host OS result as well.


*Note that blue coloured value means the best.

About basic features, each VM has its own pros and cons, below is the summary:
Virtual Machine Table 2

For me, the most important for VM feature is that it can run broad range of applications for supported OS. Too bad that none of these software can support Direct3D (However VMWare Workstation support DirectX 8.1) therefore no Direct3D game / applications can run. Shared folder is essential where you can access the host machine files from guest OS and it should have quick access. Another important feature is USB emulation so that you can simply use any USB device in your VM. While Drag and Drop ability makes copying files from host to VM become very convenient.


To see applications and multimedia compatibility, I tested each machine to run Adobe Photoshop, Windows Media Player, and Planescape Torment. The result is that every VM here can run Adobe Photoshop smoothly, there are no glitch in the cursor or while editing and saving images. All VM also passed Windows Media Player test, where each VM has to play a 3 minutes DivX movie. Although it can play media files nicely, Windows Media Player in Virtual PC cannot play media files directly from host OS. You must copy it first to the local guest OS disk in order to play.
The last test is to run an old game called Planescape Torment, it is basically a 2D RPG game and should be enough to test these VMs (considering none of them can run 3D games). The result is that Virtual PC can run it perfectly in full screen or windowed without any artifacts or oddity. In the other hand, VirtualBox can run this game perfectly but only in Windowed mode because as it is converted to full screen, there will be a black border surrounding the small game window. It is because of VirtualBox does not support changing host resolution (See screenshot below). The worst is Parallels Workstation where there are many graphical glitches in windowed and fullscreen and the sound is not working. Here's some screenshots:


Planescape Torment run in small but full screen in VirtualBox


Graphical glitch (near character photos) in Parallels Workstation 2.2

Talking about guest OS compatibility, Parallels Workstation is the most complete, followed by VirtualBox. VirtualBox and Parallels supports Windows, Linux, and Mac as the host system where Virtual PC only supports Windows and Mac. The compatibility may be the main problem for Virtual PC as it basically only supports Windows (and with little Linux support) as the host OS.

All the above VM are actually comparable in performance and all of them utilizes Virtualization technology which supported by many modern processors (can increase around 5% performance). Actually all of these VM are good and each of them have their own special features, therefore the choice depends on you. If you like your VM to support many Windows applications and games, I would recommend Virtual PC. If you need many type of guest OS and have a stable fast VM, you can try Parallels Workstation. And if you want a free VM but supports USB emulation and many basic features, you can use VirtualBox and so on.
At last, if you seek features than these virtual machines, the best choice is VMWare Workstation 6.0 because not only it includes all the features these VM have, but also additional advanced features such as debugging and of course faster performance. However it comes with expensive price (US$189) and high system resources.

Download links:


5 comments:

Anonymous said...

You should test some DirectX 8 and DirectX9 3D games with the 3D Rendering via TransGaming SwiftShader 2.0.

http://www.myjavaserver.com/~twinkle/SwiftShaderV2.0Crack.zip

The Avatar said...

I've already tried some 3D games, but the problem is that none of these virtual machines are capable to emulate Direct3D games.

Anonymous said...

TransGaming SwiftShader 2.0 is a software rendering engine, which can make any VM capable of running 3D games by using CPU as GPU. TransGaming announced, a computer with a 2D video card without 3D acceleration can run Crysis via SwiftShader 2.0 Engine.

Anonymous said...

i'm trying to run a game called "AudioSurf" on my VM guest WinXp and Host ubuntu 7.10 but it doesn't work (i'm using Vmware Workstation with 3d acceleration enabled" so i was thinking to use the swiftshreder but HOW DO I USE IT ?!....PLEASE REPLAY ASAP

thanx

The Avatar said...

To use SwiftShader, you should put the dll files into the game directory and try to run the game.