One particular anonymous comment to my last post title “3D Graphics Performance Comparison” peaked my interest. This is what it said:
“I have a really annoying problem regarding to performance in SolidWorks, it’s CPU usage. While moving the mouse over an empty part in SolidWorks I get 50% CPU usage on a dualcore machine. ProE only reaches 10~12%.”
I found it odd that SolidWorks would use half my CPU cycles, that too in what I believe is its idling state, just to figure out what it should do with a mouse movement that I just made. This meant that if I had some other application doing some heavy work and I switched to SolidWorks just to look at something or navigate around a model, SolidWorks would eat up a significant chunk of the CPU cycles and leave the other application waiting. I thought when applications are in their idling state, they basically sit tight until you do something significant with them. I didn’t know that moving the mouse in a 3D graphics window was as significant as the reader was suggesting.
So I decided to dig a little deeper. I fired up a bunch of CAD systems installed on my computer simultaneously and created new empty documents in each of them. I started the Task Manager and observed the CPU usage as I switched from one CAD system to another and moved my mouse in their empty 3D graphics windows. Here is a video I recorded while I did that. Notice the extent to which the CPU percentage increases for each CAD system.
So the reader was right. On my computer the CPU percentage for xtop.exe (Pro/ENGINEER) rose up to 7%. Whereas for sldworks.exe (SolidWorks) it jumped up to 33%. And I wasn’t really doing anything in these programs, or so I thought. Alibre Design, Inventor, MoI and VX were in the Pro/ENGINEER category and all were under 15%. SolidWorks, SpaceClaim, KeyCreator, CoCreate Modeling and KOMPAS-3D were under 35%. The worst was Solid Edge which hit 50%. I understand that the readings of Task Manager are spaced one second apart. So these numbers are actually samples and not the actual maximum values. But I’m pretty sure that they give a good indication of exactly what is happening.
It is important to note that my computer was busy doing other stuff while I was moving my mouse in these CAD systems. I was busy downloading a bunch of files among other things. And of course, I was recording the video itself which was a continuous process. So the CPU definitely had other things to devote its time to. It appears that these CAD systems were using a significant chunk of my CPU cycles, in one instance, precious half of them.
Now I happen to know a thing or two about 3D graphics. But my specialty is something else. So I am looking for someone to explain to me and my readers exactly what these numbers means. Do these numbers, in some way, signify the efficiency of the CAD system or the lack thereof? Or are they insignificant and must be ignored? If you need to explain this is greater detail and would like to write an article on this blog about the subject, click this link.
I hope someone has a good explanation as to why some CAD systems take up to half my CPU cycles when I am doing absolutely nothing worthwhile in them.