Every year or two, I find myself re-evaluating virtualization options for macOS. For the past two years or so, I was using Parallels and as a developer who is mostly using Visual Studio, it worked quite well.
To clarify, I use my VMs almost exclusively for software development. All the other tasks, like emails, browsing the web, writing, graphics, etc., I do on the Mac.
Parallels Rendering Performance Issues
A couple of months ago, I upgraded to the latest major Parallels version and at first, all seemed ok. I soon realized the Chromium-based apps (like Chrome itself or Visual Studio Code) is really, really slow. Especially, simple operations like maximizing a window or switching between browser tabs was very laggy. I also tested this on multiple machines: MacBook Pro 13″, iMac and iMac Pro as well as the 2018 model of the MacBook Pro 15″. It doesn’t really matter, it seems that everything leveraging OpenGL is slow and laggy – at least that’s my assumption.
I started to investigate and found a couple of threads like this. You will find many similar posts but not necessarily related to my issue.
Anyhow, I had a VMware Fusion key and VMware Fusion is also capable of importing/converting Parallels images. So I just tried to use VMware Fusion. I remembered that I quit using Fusion because of retina display issues in the Windows VM but it seems that all seems to work well now. I also realized that the UI performance of Chrome and Visual Studio Code is back to “normal”. So I was quite happy and started to use Fusion.
VMware Fusion File Sharing Performance Issues
Part of my setup also included “file or folder sharing”. I basically had a partition on my Mac which holds all the sources I used to work with. Web development and ASP.NET Core development I still prefer working on the Mac but for my Windows apps, I still need Visual Studio for Windows. Up until now, I simply mapped this partition (folder) into my Windows machine and used source control (Git Tower) on the Mac only.
After a while (I think I can link this observation to the Visual Studio 2019 16.1.1 update), I realized that my build times and the navigation in my code became extremely slow. It may have been slower than Parallels from the very beginning but it wasn’t as bad and I honestly didn’t really notice it.
Long story short: the VMware Fusion sharing seems to work differently and is extremely slow compared to Parallels. On my iMac Pro, a full rebuild of my Solution took around 15 seconds (nuget packages restored already) with Parallels while in VMware Fusion it took almost 2 minutes.
The solution to this one is quite simple: I moved the source file into the Windows guest OS and I’m back to 15 seconds. The only downside to this approach: I now have the sources I need for Windows in Windows and all the other stuff on my Mac partition. It’s a small price to pay and all in all, I’m happy with Fusion right now. Maybe Parallels gets ahead, fixes the rendering issues and puts some nice new features inside the box, maybe then I will re-evaluate again.
I think both products, VMware Fusion and Parallels are great options to run Windows on the Mac. Both have strengths and weaknesses and some of the issues I describe here may be resolved over time.
Pros and Cons of VMware Fusion
+ Feels snappier and more light weight. I’m aware this is very subjective but especially the Chromium/OpenGL rendering issue is quite noticeable in my case.
+ Easily import existing Parallels images (I don’t think Parallels can import VMware images).
+ Classic license model with perpetual license and installation on multiple machines allowed.
+ Excellent support: once you create a ticket, you actually get a call and VMware is really interested in resolving your issue.
– Significantly slower startup time for Windows 10.
– Very slow file/folder sharing for some scenarios.
Pros and Cons of Parallels
+ Fast startup time.
+ Parallels toolbox has a couple of nice small tools in it.
+ Very fast file/folder sharing.
– The mentioned rendering performance issues.
– Much more expensive because of the subscription license model which requires you to license each machine.
– Support has been improved but still far behind the quality VMware Fusion offers.