EDIT: The multimedia performance problems described below turned out to be a display driver issue with nvidia having some kind of conflict with Hyper-V. Downgrading to Windows XP drivers cured this for me.
Also, the very minimal performance testing I did previously (start-up time of a Windows XP VM in Hyper-V) was a bit apples-to-oranges as I installed a fresh copy of WinXP under Hyper-V. Since I already reinstalled Hyper-V to test out the display drivers fix, I decided to do a better comparison. This time I converted my VMware VM to a Hyper-V VM (minimal services set to start and all) and found startup time on par with VMware workstation, maybe a few seconds faster.
My only roadblock to using Hyper-V now is the lack of wireless NIC support.
I’m at a point in my current project where I need to test out automated installs on different OSes at various states (totally clean, .net framework installed, our software already installed, etc). Having just moved to Win2k8 on my workstation, I decided to give Microsoft’s new paravirtualization product, Hyper-V, a shot.
I’m a pretty big VMware fan. I use VMware Workstation on a daily basis and also used their free VMware Server product before they switched over to the clunky web-only interface in v2. Microsoft’s Virtual PC and Virtual Server offerings never compared with even the free VMware Server, as far as features and performance were concerned. It was even worse when you take into account Workstation’s killer snapshot management. Hyper-V (essentially $28 when bundled with Win2k8) was supposed to bring everything much more in parity with VMware’s enterprise offerings. I was excited to try it out.
That didn’t last long though, as I soon discovered that Hyper-V doesn’t support binding to wireless NICs. There are some painful workarounds involving binding your wireless NIC to the virtual NIC, or using ICS on your wireless NIC to share it out to the virtual NIC. Both are kludgy and neither were very stable for me.
The real killer though was how much host performance suffered. When the Hyper-V role is installed on Win2k8, the hypervisor stack is installed underneath the host OS stack and the host essentially becomes a virtualized environment, just like any other VM. This is great for the server environments that Hyper-V is intended for, but for a workstation where you want interactivity, it means pretty noticeable performance degradation. Videos that would normally load up and play instantly would hang for 5-10 seconds before playing, and even then, the audio and video would stutter for the first few seconds. Performing other activities involving reasonable disk I/O (such as copying files) would make the audio and video stutter more. Scrolling applications, which are smooth without Hyper-V, are jerky when virtualized (reminded me a lot of scrolling on a remote desktop session).
Granted, Hyper-V isn’t designed for workstation use, just like Win2k8 server, but for IT pros/Developers who have switched toWin2k8 for their workstation regardless, stick with VMware. It provides more features and better host performance. Guest performance seems remarkably better as well (a WinXP VM that takes 13 seconds avg to boot to a desktop under VMware took 24 seconds avg under Hyper-V). I’m not really sure I see the benefit Hyper-V provides, at this point.