Help me understand ASIO-Guard

I have been using Cubase for years and never have I had to change anything regarding ASIO-Guard. It’s always been on its default setting until now.

I’m on MacOS Catalina 10.15.5 on a 2017 5k iMac i7 Quad-core with 40 GB of RAM and I have felt quite a spike in audio load processing since updating to Cubase Pro 10.5.

I know ASIO-Guard has something to do with realtime performance or something but hear me out…

I have ASIO-Guard set to its default Normal setting.

If I have, say, 10 VST instruments. Let’s say Spire for example. If one of those instruments is record-enabled, the performance meter is quite high (while all 10 instruments are playing simultaneously)

If I record-enable all 10 of those instruments, the performance meter goes down to about half.

If I record-enable none of the instruments, the meter goes down slightly more.

Now here’s where I get confused…

When I deactivate ASIO-Guard, the meter stays down about the same as if I had nothing record-enabled, regardless of what is record-enabled. In other words, I get better performance with ASIO-Guard deactivated.

Is this normal? Should I keep ASIO-Guard off then?

Audio Performance Window
https://steinberg.help/cubase_pro/v10.5/en/cubase_nuendo/topics/optimizing/optimizing_vst_performance_window_r.html

System Performance Meters (on the tool bars) don’t show the processing load in the real time path of the audio engine.
I don’t know exactly what “Average load” means.

ASIO guard is super useful - it’s like a dual buffer.

So you can have a higher buffer setting for your project. But when it comes to recording a instrument part - you can keep the high buffer setting and still have low latency when playing the instrument part.

If you turned asio guard off - you’d either however to lower your buffer (which might not be possible if its a large project) to play the part or have loads of latency.

ASIO Guard
The aim is to become as independent as possible from the strict ASIO real time requirements. Whenever there is CPU time left despite the required real time processing, the upcoming buffer blocks are pre-calculated to have them available for the next ASIO block cycle. Under certain circumstances, this method can stabilize or even increase the resources available for audio processes.

The effect on the overall performance not only depends on the hardware environment but also the specific use case. For instance, audio channels that are monitor enabled cannot be pre-calculated and have to be processed in the time-critical real time path leaving fewer resources for ASIO Guard. This increases the risk for audio drop outs again.

With ASIO Guard enabled, Cubase/Nuendo will try to utilize the less time-critical path as much as possible. The assignment is an automatic and dynamic process. A monitor enabled channel will be removed from the ASIO Guard mode automatically. Once the monitoring is disabled again, the channel will return into the ASIO Guard path.
Because of this dynamic reallocation, it is advisable to monitor the VST performance meter to be able to address potential overloads.

ASIO Guard Limitations
ASIO Guard cannot be used for:
real time dependent signals
VST Instruments using specific controllers (z.B. Maschine by Native Instruments)
VST editors/plug-ins used to control external sound modules and effects
External FX and instruments
Plug-ins using the VST Bridge

I might have to keep experimenting with it.

It just seems that ASIO-Guard is causing some extra performance hits when I have a single VST instrument record enabled.

Are there any known cases where ASIO-Guard is better off deactivated?

It’s possible, depending on exactly how the instrument you’re testing is designed. You can experiment with the low/med/high asio guard settings. You can also turn it off for specific instruments. Remember though, one of the consequences of asio guard is that the performance meter becomes difficult to interpret, even misleading in some cases.