VMware Communities
MechaEngine
Contributor
Contributor

Seeking Help to Optimize VMware Fusion for CAD on MacBook Pro with M2 Processor

Hello VMware Fusion Community,

 I am a first time user of VMware Fusion 13 (Tech Preview) and apple computers in general, running on my Apple MacBook Pro with an M2 processor, and I'm currently using it for some necessary windows based CAD applications. While the overall performance is decent for CAD tasks, I'm facing specific issues when it comes to simple 3D model "Orbits.". Which is basically just rotating in 3D model space. 

Here's the key information about my setup:

  • - Apple MacBook Pro with M2 Processor; 16G RAM (6 cores allocated for the VM, which seemed to be the sweet spot)
  • - 8 to 12 gigabytes of memory allocated to the virtual machine and with 3D acceleration enabled and 8G Shared video memory
  • - VMware Fusion (latest version)
  • - external 27" Apple Studio Display
  • - Windows 11 ARM64, Enterprise
  • - Windows-based CAD application (Autodesk Inventor)

The specific challenges I'm facing are:

1. **Low Virtual CPU Clock Speed:** It appears that my CPU clock speed is throttled to around 2GHz. This would affect the overall performance of the CAD application (clock speed is a BIG factor on performance, at least on native systems.)

2. **CPU and GPU Utilization:** While running CAD applications, I've noticed that the base system's CPU performance maxes out at around 40%, and GPU utilization is at only about 10% (Values read from Activity Monitor, VM CPU via Task Manager is upwards of 100% on all cores). These figures seem lower than expected, especially during 3D CAD operations.

3. **Slow and Jerky Model "Orbits":** The most noticeable issue is with "Orbits" within the model space, which are often slow and jerky. Typically, this operation would be handled by the GPU, but it doesn't seem to be effectively utilized.

I'm particularly interested in hearing your thoughts and advice on the following:

1. **Optimizing CPU Performance:** How can I increase the maximum clock speed within the VMware Fusion virtual machine?

2. **Leveraging GPU for CAD Operations:** What settings or adjustments can I make to ensure that my virtual machine utilizes the GPU more effectively, especially during 3D CAD tasks like "Orbits"?

3. **General Tips for CAD Performance:** Are there any other general tips or best practices for maximizing CAD performance within a virtual machine running VMware Fusion?

I appreciate your expertise and insights, and thanks in advance.

Reply
0 Kudos
3 Replies
ColoradoMarmot
Champion
Champion

First, upgrade to Fusion 13.5, and manually reinstall VMWare tools from the menu.  If this VM was originally created with the first Tech Preview, you may have to rebuild one from scratch (I've had issues removing the manually installed video driver, but building a new VM fixed it).

If the cad apps use OpenGL you're out of luck, that's not supported.

Reply
0 Kudos
Technogeezer
Immortal
Immortal

You can't depend on what the guest is reporting as a CPU speed. The guest has no ability to control the virtual CPU frequency. A virtual CPU is considered a thread to macOS, and macOS decides how those threads are run on the available cores (both P and E cores) and the frequency at which those cores are run at. There are QoS settings for threads, but they appear not to give fine grained control over CPU frequency.

You might want to have a look at a recent article by Howard Oakley https://eclecticlight.co/2023/10/23/how-does-macos-manage-virtual-cores-on-apple-silicon/ that dives into how threads are assigned to cores. It uses the high level macOS Virtualization Framework as an example, but I believe that the discussion would apply to the lower level Hypervisor Framework that Fusion uses. 

From Howard's article, it does seem that virtual cpu threads are run on P-cores rather than E-cores.  

 

- Paul (Technogeezer)
Editor of the Unofficial Fusion Companion Guides
Reply
0 Kudos
MechaEngine
Contributor
Contributor

I did try this, and unfortunately it didn't resolve the issue. Looking deeper into the driver and AutoDesk Inventor use of it, this appears to primarily be an issue with Inventor recognizing the drive as being "usable" for hardware acceleration. 

Ironically. AutoCAD (which there is a Mac version for) uses the driver just fine. So despite some minor window refresh issues, the operation of that program is near seamless.

I have reached out to Autodesk about this issue, with some response back, but no resolution at this point in time.

For those reading this, who otherwise wonder or care, Yes this is also a problem in Parallels running on a M2 Chip.

 

Thanks for all the feedback in helping narrow the issue down a little.

 

Reply
0 Kudos