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.
Conclusion
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.
Co-Founder and CEO of Royal Apps GmbH and Windows lead developer for Royal TS, a multi platform, multi protocol remote management solution, for Windows, macOS and mobile supporting RDP, VNC, SSH, Telnet, and many more.
Long time Microsoft MVP (2010-2020) supporting communities on- and offline as well as speaking at user groups and conferences about DevOps and other software development topics.
Just curious which version of VMware did you use? Was it the current one 11.5? I am using parallels, but I used to use VMware for years. I almost went back when I noticed I reached my reinstall limit on that license, but found my VMware fusion would not install on my Mac Pro 2012 with quad core. Apparently VMware is not compatible with certain cpus. I’m back on parallels now found a cheap download on eBay. So for so good. I was curious as to the performance issues you discussed if they were for Fusion 11.5, because I may go back in future. Their customer service is better than parallels. You can also reset the license very easily on their website. Not so with parallels.
I am currently using VMware 11.5 and I have to admit that I haven’t tried the latest Parallels version. Since Parallels licensing is restrictive and annoying, I will keep on using VMware for the time being. The mapped folders in Parallels are much faster than in VMware (which is basically just a network mapped drive). In my use case I have my source code repo on my Mac and I mapped this folder into the Windows VM. In Parallels this worked quite well. With VMware, build times were significantly higher. So high, that I cloned my repo in my Windows VM to get decent performance again.
One thing which really bugs me is that WPF apps are rendering so slow in a VM. Running on native Windows, this is much faster. I wish that both, VMware and Parallels are putting more effort in DirectX based rendering to make WPF apps run smoother…
I had been using VMWare Fusion for the past 9 years, from old versions to the latest, for .NET Development on my MacBook Pro 15†2015 version. I am now in the market to buy a new MacBook Pro and am torn between the power of the 16†i9 vs the new 2020 13†with a 10th gen i7 and 32GB RAM with a much cheaper price tag.
My question is: what is the experience for you in developing on a 13†MacBook Pro? I will have mine plugged into a monitor half of the time but will also be on the couch or out and about.
TBH, I haven’t tried using the latest generation of a 13″ MBP. When I switched from 13″ to the 15″/16″ MBP, it was definitely because of the graphics performance in the VM when using an external screen. That being said, switching off DirectX support sped up the experience a lot (although some nice reveal and acrylic effects are lost in the process). Windows is usable again and maybe with DirectX turned off, a 13″ MBP will also work well but that particular scenario but I haven’t tried yet. Would be interesting to know.
I really don’t mind the bigger form factor and weight with the 16″. The better CPU options and the discrete video card are a huge benefit – especially if you are using the MBP mostly in an office attached to an external screen. I’m not on the road that much. The number of times I take a MBP on the road is once or twice a month. If I need it on the road every day or so, I’m sure I will reconsider and take a closer look at the 13″.