It possible to also significantly reduce processor load and increase system speed even further just by re-assigning process priority in windows. The only problem is they only stay that way whist the application is open (i.e. it will be cleared when you close the app down) and for each login session (i.e. any changes in settings that you make will all be cleared when you log out. But there is a way of partially getting round this via the use of VMs.



Partially getting round the lack of native processor priority assignment retention options via the use of application specific VMs and re-launching from suspend mode instead of power cycling the VM



Since there is no official native option to retain the processor priority settings that you assign to applications when logging off and shutting down it can be a bit of a chore having to constantly set them up all over again each and every time post login after rebooting. However by using VMs its possible to make these settings within your VMs to hen simply keep the applications open with your VM and then suspend it (which is like pausing it) instead of logging off and shutting the VM down. This then allows you to immediately pick up where you last left off when you re-initialize it from its suspended state since no booting is required. The reason for keeping the applications open within the VM is that the processor priority assignments that you made from task manager will be lost if you shut the application down. However doing this does come with the additional potential load on the host OS having to deal with an entire OS containing the applications as well as the applications themselves, but don't worry just yet as there is a way of getting round this which is detailed as follows.




Significantly boosting speed, and performance whilst reducing processor overhead/load in VMs by managing process priority within the VMs

Example one - Installing MS office to a host instance comes with a whole stack of background processes which increases processor load and slows down your host OS even if you don't have office open. Skype does this too. So I opted to install them both to a single separate windows 7 VM in order to retain base performance of the host OS since I'd be able to just shut the VM down for none of the applications (and background processes that came with it) to stay resident if I needed the resources for something else. In its default state without altering and process priority settings for the VM, the VM would idle at around 20 to 30% processor load with an office app active and Skype running. After altering the settings I was able to get it to run at 1 to 5% processor load within the VM whilst spiking every so often at around 10 to 15% whilst typing documents in OneNote. This also caused the processor load in the host OS to drop to 0 to 1% from 12% whilst that particular VM was running. It also had the effect of significantly speeding the VM up to something that was on a par with having the applications directly installed onto the host OS itself.


Example two - Here's a trivial example. I like using iTunes since it’s the most efficient means of managing a vast amount of music I know that makes it even more pleasurable to listen to music when relaxing or sorting playlists for my devices of podism whilst out on the mooch. In Northern English colloquial slang "to go out the mooch" has somehow turned into a slang term for going for a walk/wander despite other potential meanings of the verb to "mooch". The only problem is I didn't want to permanently install it to my host OS that I use for running VMs on because I know for a fact that it slows down the system and installs a bunch of always on background processes. However one obvious solution would be to contain it within in a dedicated VM customized purely for the use of iTunes. You could even potentially encrypt the VM if you're that paranoid about its security as well as put an additional user password for logging into the Windows instance that you're using it as a VM for dedicated iTunes use. That way I'd have a permanent working iTunes setup in a dedicated VM that would not impact on the performance of my host OS in the slightest when shutting the VM down. In order to customize a VM purely for dedicated iTunes use I used a Windows 7 OS and removed everything that was not essential to the running of iTunes within it. Doing this also meant all my hours of making sure all the artwork for all the music within its library would remain perfectly intact since I would not have to uninstall iTunes from the VM for any reason. I also run multiple host OS on a multi-boot setup which also means that having iTunes in a VM would mean that I could use one copy of iTunes and all its settings within any of my host Windows OS via this custom VM. It also makes porting iTunes without having to completely re-install it even easier. Its also easier to create a self contained all in one backup. On top of that my personal instance of iTunes just the way I like it has its own dedicated roll back and restore feature  on top of the external self contained backup option since I'm using an entire Windows 7 OS as a VM to run it in.

The problem is in its default state even after removing all unnecessary components from the VM that aren't essential to iTunes it still runs pretty high on the processor load within the actual VM and is quite choppy/laggy in performance. Its slow with about approximately 40 to 60% processor load within the VM  itself while iTunes is actually active. This also impacted on the host system processor load to which it added an additional 20 to 40% as it scaled. However, just by simply changing the process priority settings of all the Apple related process threads within the VM its possible to get it to run at around 5 to 12% processor load within the VM. This also resulted in the VM and iTunes itself running much faster in general and was generally much more snappy in response without falter. It also reduced processor load on the host OS. The iTunes visualizer was able to run faster and much more smoothly whilst rendering the 3D visuals.  Most importantly it completely eliminated audio track breakup and pauses whilst actually listening to music during playback via iTunes from the VM.

After altering the settings the performance of the VM was now pretty much on a par with having iTunes directly installed to the host OS without use of a VM but with all the added advantages of having it within a VM.


A tidy modular solution that doesn't bog down the host OS which allows it to be scaled accordingly to needs and keeps it all running fast

Freeing up all this additional host resource through simple tweaking and process priority re-assignment also meant that I was now comfortably able to smoothly run both VMs at the same time at significantly higher speeds (without having to over clock the machine) whilst still having plenty of processing head room and memory left over for other stuff/simultaneously running additional VMs. 

I was thinking maybe they could include this feature in Windows 8. However Windows 8 doesn't necessarily need it so they wouldn't really need to include it with 8. All the same the option for native process priority assignment retention on a none VM host OS that’s faster then using the OS suspend mode in a future official Windows 7 update would be useful to say the least.