When I have a busy project with the ASIO meter maxing out and buffers set to maximum, if I look on the Windows system resource monitor, I see that my total CPU use may only be something around 50% even though I may be starting to experience audio breakups/dropouts in Cubase (we’re talking quite a heavy project here with lots of VSTi’s). Is there anything I can do to get more processing power out of my setup?
I have Multi Processing and ASIO Guard enabled. I also have Hyperthreading enabled in my BIOS and the BIOS power saving options disabled. I did try enabling Steinberg Power Management but it seemed to cause audio dropouts etc sooner than when having it disabled. I can see that all 8 cores of my CPU are taking some load but clearly there is a lot of power going unused. My computer specs are in my signature. Any suggestions?
Just to give a further example from the project I’m currently working on.
The Cubase meters are showing the following:
Average Load 75% approx
Real Time Peak: 75-80%
Disk Meter: Zero
In the Windows Resource Monitor Average CPU use is 16% approx for Cubase, 13% approx for VSTBridgeApp.exe plus a few more percent for the Windows system etc. so total is probably around 35% which is half what I’m seeing on the Cubase performance meters.
Yes, I realise it’s an ASIO meter (I referred to it as such in my post). But I’m still wondering if there is something I can do in practical terms to get more horsepower out of my system?
My buffer is set as high as it will go (2,048). I’m using the firewire port on my motherboard (Texas Instruments firewire chipset). My interface is a Steinberg MR816CSX, with the latest driver so it would be surprising if that was an issue.
the asio is actually the driver of your soundcard so the only way you can affectively reduce the amount used is as you know by raising the buffer size which is something that normally is done once recording has finished and your just going to mix .
Steinberg recommend their optimization for the cpu , users recommend disconnecting all wifi and internet connections as wifi has been proven in some cases to cause pops and clicks , but apart from that if your running 50 tracks and the asio meter is saying 70% I would ask myself how many tracks do I really want to be running before bouncing sections to audio .
Yes maybe this is ‘just the way it is’. But does that mean that if I upgrade to a faster CPU, I won’t see any improvement as the ASIO driver will still be the limiting factor? Does it mean I might get better performance with a different audio interface?
I’ve disabled all the obvious things such as WIFI cards etc (In fact I’ve physically removed the wifi card) and have almost nothing else installed on this machine except Cubase and a load of plugins. I also use an SSD for my system/application drive. Was just wondering if there’s any other optimisations I should know about.
I like to avoid bouncing/freezing anything where possible as I’m one of those people who just like to be able to tweak anything at any time without delay.
If you have a more powerful machine you can obviously run more processing/plugins/tracks. But, ultimately, when you hit the ‘wall’, it is because the ASIO system is not coping with the load, not because of CPU usage.
I don’t profess to know much of anything about ASIO or how it works per se, but the driver for your audio interface is also software, so it should benefit from extra processing power. E.g. for buffer processing. Even though the VST Performance meter doesn’t equal CPU usage, it should be affected by differentials in CPU resources available.
Another way to potentially gain ground against resource loss, is using better plugins. Some plugins are just written better than others, and results in less resource usage. Some are irresistible I know, but when it comes down to crunch, sometimes it’s just beneficial to shop around.
There are a number of plugins on the market that are written using VST frameworks (i.e. wrappers of various purpose), some which are modular prepacks and others that are language or API bridges of some form or another, and such architectures come with more or less management cost. If you then have a lot of instances of these plugins, the overhead could be crucial.
An simple example of a plugin affecting the VST Performance meter can be seen in Steinberg’s own HALion 5. I pick it H5 because I use it a lot, it’s Steinberg’s (for less upset minds) and it can be used for a demonstration. If you pick a synth sound (no samples used) that does not utilize the unison functionality, play a piece and look at the VST Performance meter, and then add unison with 8 voices per note, and do the same reading again, there is a difference.
Does this mean H5 is poorly written? Of course not, it’s likely written better than many others, but it does mean that the nature of a plugin can affect the VST Performance meter. So compare the plugins you use and the way you use them, because a simple parameter within a plugin can make a difference, and if you use many instances of a particularly setting, you could be chasing that meter for the wrong reason.
so to sum everything up , the only way a newer machine will help is with the performance of plugins and software but not with the ASIO driver of your audio interface , whether you have a bottle neck going on there it’s hard to say , as you say the problem happens on large projects ? How large ? .
By the looks of it , it’s not the machine causing the issue it’s the interface Asio driver , maybe when you reach your limit you should think about exporting audio tracks back into your project to easy the strain on the asio or think about buying a more suited interface for your style of work
The meter measures ASIO as mentioned before but the reason it gets near the limit is generally due to the CPU usage. So if you have lots of instruments and effects each one takes CPU time to process the signal, the ASIO buffer size is intended to allow time for the CPU to do its work (it buffers the samples) but if the CPU is doing lots of work the buffer may not be big enough. My understanding of the ASIO guard idea is that when you have spare CPU time Cubase will use this to look ahead to the next set of data needing processing.
Well I must admit I am not fully sure why the CPU usage is only showing as 50% when ASIO is maxing out but I do still think it is the processing time that is causing the strain on the ASIO, which is clearly seen as when you add new effects etc. the added processing causes the ASIO meter to rise. That makes me think the reading of 50% on the task manager is wrong or there is some other limiting factor we are not able to measure
One thing is that the CPU percentage shown is an average across cores. I just tried a few tests on a project where the meter is near the top and the percentage shows as 63% however 3 of the 4 cores are around 90% and peaking up to 100 I think but one is very low. So it may be that mission critical processing is being stalled on 1 or more core and while there is CPU time available it would require the work to be better distributed per core. Improved concurrent programming from Steinberg and the plugin vendors could improve this
Whilst I haven’t been observing the System Resources Monitor in extreme detail, it does look like the CPU load is spread nicely between all 8 cores of my CPU. None of them look close to being maxed according to the graphical CPU load displays.
I’d be interested to hear the experience of others here… how does the CPU load in Resources Monitor compare to what you are seeing on the Cubase ASIO meter?