Sunday, May 29, 2011

Multi-tasking with Windows Task Manager

You’ve just set a long render or simulation study going, and now that your computer is locked up calculating all those 0’s and 1’s, there’s nothing to do but go and get a coffee.

Not so fast. If you’ve got a multi-core machine, you can use Windows Task Manager (in all versions of Windows) to free up one of the cores for other programs, allowing you to check emails, surf the web, watch YouTube, etc. The trade-off is that your render/simulation will take longer to solve – the more cores you have, the less this will matter.

  1. After your Simulation study/render is started, start Task Manager by pressing CTRL+ALT+DEL, or Start >> Run >> “taskmgr” (without the quotes).
  2. Click on the Processes tab and sort by Name – this tab shows all of the processes running in the background on your machine.
  3. For rendering, find PV360.exe, for Simulation, find Star.exe (this is after meshing, when the study has started solving)
  4. RMB on the process >> Set Affinity...
  5. Uncheck one of the CPU cores – it doesn’t matter which one.

This stops Windows from assigning work from that process to that CPU core. It’s only temporary, so if you start another render, you will need to go through the above steps again.


Alternatively, you can change the priority of a process:

  1. (From step 4 above) RMB >> Set Priority >> set to Below Normal or Low

Changing the priority lower means that instructions being sent from PV360 to the CPU are solved after instructions sent from other processes such as your web browser. After doing this, your computer should function as normally expected, and the render will continue in the background.

You can change priority or affinity at any time while a process is running – this is handled by Windows in the background and won’t affect your render or simulation study.

The benefit of changing priority over setting affinity is that if you’re only using 3% of the available CPU power to check the web, 97% is devoted to finishing the render. If the CPU is quad-core, and we set the PV360 affinity to only 3 cores, it would only be using 75% of the full CPU processing power, regardless of what we are doing.

However, setting affinity ensures you have spare processing power, and often, even if you set the priority of a processor-hungry process like PV360 to Low, you may notice some performance issues trying to do other tasks (you’d be surprised how much processing is required to run YouTube in your browser), so I generally prefer to set affinity.

As a final alternative, if it they can wait, you can use SolidWorks Task Scheduler to schedule renders and studies to run when you aren’t using the computer – e.g. at night. This will be covered in another post.