Benchmark: virtualized OS X vs Windows

Lately I've discussed the performance drop between a virtualized Mac OS X and the same system running natively on a Mac Pro. My virtualization project is not limited to Mac OS X of course. Windows, Linux, FreeBSD are also part of the deal. In order to further test my virtualized workstation setup, I've created a Windows Server 2008 R2 VM.
Every VM runs on top of ESXi, only one VM at a time so no interference is possible. Each VM uses the ATI Radeon HD 5770 PCIe card directly thanks to VMware passthrough mode. ESXi is running on a Mac Pro, and the native OS X system runs on the same Mac Pro so I have a consistent hardware platform.

I've given Cinebench a ride on this Windows VM, and I must admit, results are appalling… for Mac OS X:

Cinebench OS X 10.8.2 native OS X 10.8.2 VM Windows Server 2008 R2 VM
CORES 4 4 4
LOGICALCORES 2 1 1
MHZ 2800 2663 2800
CBCPUX 5.038354 3.797552 3.962436
CBOPENGL 32.284100 27.319487 53.606468

I'm afraid a virtualized Windows system achieves better results than a native OS X. And not just a little bit better, but 66% better. We knew for ages that Apple ships crappy graphics card drivers and almost obsolete OpenGL. This is one more evidence.

After further research, I've finally succeeded in launching some Valve games on this windows VM: Half Life Lost Coast and Portal. They both run quite nicely. The HL Lost Coast integrated benchmark scores a very nice 229,82 FPS and the portal frame rate displayed by the command cl_showfps 1 was around 200 and 300.
On Team Fortress 2 I've been able to make a proper benchmark. That's not as detailed as my L4D2 bench, but that's enough.
I've recorded a game on TF2, Mac OS X 10.6.8, played it back with the timedemo command on the same system, and on the Windows VM.
It's a short demo (4099 frames) featuring a control point map with 12 players (11 bots, and me). Video settings were the same on both sides, of course.

Mac OS X 10.6.8 Native Windows VM
average 59.04 fps 59.83 fps
variability 2.764 fps 3.270 fps

It looks like something is capping the fps at 60. I don't know if it comes from my settings, or if it comes from outside the game. Both scores are very similar. Mac OS X's only bonus is the smaller variability, meaning its frame rate is more consistent throughout the demo. If only I had sound in my VMs…

Next step: try to configure a Ubuntu VM so it can use the ATI Radeon HD 5770 PCIe card, and make good use of my Steam On Linux beta test account.

À lire aussi :

4 comments

  1. Hi, It's been a year since your have tried this, I am in a similar boat, I want to run ESXI on a Mac Pro 5,1 it will have OS X Mavricks/Mountain Lion server VM running 24/7 and the occasional racing game on a Windows7 guest OS VM.
    This means with the Windows 7 VM, I would like Full GPU use, Keyboard/Mice, Sound, Game controller Steering wheel/Pedals and Shifter this is 2 USB connections.
    Is this possible now? Since you have been through it all.
    thanks
    jai

  2. On the Mac Pro I've found no way to use direct access on interesting motherboard components (USB, Sound...). Most success stories I've read about a similar setting on PC show that a dedicated USB PCI card is used to perform passthrough of USB controller. Same goes for sound: they use a USB sound card. I could buy a USB-PCI adapter, but my dream setup would need 1 per active VM, and 1 GPU per active VM. Too many cards, too few PCI slots.

    I think I'll postpone my project until my Mac Pro dies, then I'll buy a powerful and silent workstation from a PC maker like supermicro to built a good virtualized setup. In the mean time, I'm contemplating the idea of buying a small form-factor game-oriented PC that would run my games with decent performances.

    If you test a dedicated USB controller in your Mac Pro, keep me posted!

  3. Hello, I realize this is an older thread--but did you ever get a chance to continue with this testing, using the latest version of ESXi (5.5 at the time of this writing)?
    I am curious if the performance and compatibility would be improved. I have a 2010 6-core Mac Pro with 32GB RAM and four 256GB SSDs--wondering if it's even worth it to play around with this testing. I am not that much interesting in gaming on this rig--but graphics performance should be at least equivalent to a Mac Mini or contemporary; enough to drive the whiz-bang features like Expose without lag. Looking forward to your thoughts.

  4. Hi, thanks for your interest. The fact is, direct access to keyboard/mouse and sound is a must have for my usage. Unfortunately I've been unable to get them working and have not enough time to push harder.
    Unless you find a way to bind your keyboard/mouse to the Mac OS X VM, you'll have to use remote access (vnc...) to use your Mac. It yields to horrendous graphical performances, and requires a second computer to access the Mac Pro. Not so sure it's what you're looking for.
    I just checked support matrix from VMware, and strangely ESXi 5.5 supports only 10.6 32bits but not 64bits. Weird.

    About performances, I'm not worried. The main problem is inside OS X. When the GPU is bound in DirectIO mode, performances are almost bare-metal, thus relying on the driver/OS quality: that's how my test Windows VM performs better than a bare-metal OS X.

    Let me know if you have success passing through USB with ESXi 5.5...

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.