PC AUDIO 116
Struggling with overheads? Follow this guide and they could soon be a thing of the past.
Column: Martin Walker
A reader recently emailed me to ask which free utilities I recommended to manage or control Windows Services and Processes, since the CPU overheads on his audio PC were hovering around 52%, even before he launched any applications. I replied fairly quickly to the effect that I wouldn’t advise him to attempt to disable any Windows Services, since in my experience this rarely results in any measurable improvements in performance, yet can seriously impinge on the reliability of your machine.
For example, I once spent an entire afternoon disabling a total of some 46 Windows Services on my resolutely audio-only PC partition, carefully following the advice of a well-known commercial builder of Audio PCs. After a reboot I re-measured its performance, only to find that while the system RAM consumption had dropped by a miniscule 8MB, its CPU overheads hadn’t changed one iota, and nor could I measure any improvement in performance on any audio benchmark tests. Moreover, during the following week I experienced several infuriating crashes, and even found a repeatable sequence of actions that would crash Cubase every time, requiring a reboot. Fortunately I’d created a hard drive image immediately before these Service tweaks. I restored this image and all my crashes ceased immediately.
Given that disabling Windows Services can result in instability or even a complete refusal to boot up afterwards, what else should this reader have been exploring to resolve his 52% overheads? Well, the most important thing to check is that your computer’s Power Plan is set to ‘High Performance’. The wrong setting here can cripple the processing performance of many modern PCs, because of over-clever power schemes that throttle your processor to a slower clock speed to keep it cool and, in the case of laptops, prolong battery life. In theory, such throttling schemes should let your CPU clock speed ramp up smoothly on demand, but in practice there’s a short time lag before this happens, sufficient to result in audio interruptions and, therefore, clicks and pops. The only safe way to prevent this happening is to make sure your processor always runs at its top speed, so that your PC doesn’t unexpectedly conk out during song playback.
I still disable all System Sounds because you can never be too sure what will happen to your DAW if Windows suddenly decides to (for instance) emit a ping to inform you of an incoming email. Many system WAV files are still recorded at a sample rate of 22kHz, and depending on your audio interface, your currently running 44.1kHz audio project may suddenly jump an octave higher and run at double speed, and your soft synth playback become extremely ‘juddery’. Other musicians have reported songs dropping to half speed, playback stopping altogether, or suffering ongoing timing problems, requiring a frustrating reboot.
I also still change Processor Scheduling to ‘Background services’, as originally recommended by Steinberg for anyone using its ASIO drivers (and nowadays that includes just about every PC musician), since ASIO drivers run as a background service in Windows. Although this particular tweak does cause some debate among experts (some claim it makes no difference nowadays, while others still maintain that you may be able to run your audio interface at a significantly lower latency afterwards), I’ve never experienced any detrimental effects, so continue to use it with care. However, from Windows 7 onwards, most of the other published tweaks recommended for musicians provide rapidly diminishing improvements. By all means explore some of them if you’re determined to squeeze the very last drop of performance from your PC, but often the improvements (if any) become too small to be reliably measured.
YOUR NEXT TASK
If your DAW is running a lightweight project that nevertheless results in high processor overheads, it may simply be that you’ve chosen a particularly low buffer size for your audio interface. Once your audio latency drops below about 12ms (512 samples at 44.1k) CPU overheads will start to rise, and may do so radically below 6ms. To rule out your interface from overhead concerns, just switch its buffer size temporarily to 512 samples and see if your problem goes away. If your PC still displays high overheads even when it appears to be running no major applications, the next port of call is to open the Windows Task Manager and click on its Processes tab, to explore just what is tying up your processor — you’ll see quite easily from the CPU column which processes (threads of code running in the background) are consuming the most cycles. Once you’ve tracked down the culprit(s), just right-click on the process and select the ‘End Process’ option to check that this cures the problem.
‘But how do you know what application launches a particular process?’ I hear you cry. Well, an internet search engine will help. Simply enter the full name of the process and you’ll soon find out not only what it does and the likely application that installed it, but also how to remove it permanently if it’s causing problems. This is an inexact science, so go slowly but surely, dealing with one high CPU process at a time until your computer’s CPU overheads drop to less than a few per cent when idling.
The most frustrating processes tend to be those that get automatically run each time you boot up your PC, such that they keep popping up even after you’ve disabled them. The quickest way to see a list of what Startup Items are currently installed on your PC is to run the msconfig.exe utility from the Windows taskbar and click on its Startup tab. Another option, and the one I prefer, is to use the Startup option in the Tools section of CCleaner (a free utility download from piriform.com), since this displays the info far more clearly. A handy web site that documents a huge number of startup tasks and what they do can be found online at
www.pacs-portal.co.uk/startup_search.php, but most should be fairly obvious from their entries in CCleaner’s ‘Program’ and ‘Publisher’ columns (or the Msconfig ‘Startup Item’ and ‘Manufacturer’ columns). You can temporarily Disable any startup task so that it won’t get re-launched on the next boot, and if this solves your problem then the final step is to permanently delete it. Good luck, and may your overheads plummet!