ASIO GUARD, does it help to wait for it to pre-process stuff?

If I’ve got my buffer set to 2048, and tons of VSTs running, effects, instruments… but I want to record, say, a last minute VSTi piano track with low latency…

If ASIO Guard is on, set to MAX, and I actually wait long enough before recording each take…

does ASIO Guard fill in the buffer enough to allow low latency?
does the record-armed track just automatically give me a low enough latency, even though the audio buffer is set to 2048?

Hi,

As far as I understand, it doesn’t work the way you expected.

Okay, well, how does it work exactly? Do I need to set my buffer lower? And ASIO guard somehow handles the massive amount of plugins I have going on so there are no glitches or audio dropouts?

No, it works the other way around, giving you high latency even though the buffer size is low. But, no, it doesn’t help to wait for anything.

That’s just really confusing.
If someone could please explain this in detail, I would appreciate it.

ASIO Guard pre-processes tracks… which means, to me, that you should be able to run at lower buffer sizes (like 512 or 256, etc) and therefore experience lower latency on the track you’re recording on…

YES?

So, it would make sense that the longer you wait between takes, the more that ASIO Guard has a chance to pre-process. Or in other words, if you’re just always rewinding and immediately pressing play, the computer just has no time to do much ASIO Guarding, does it?

You don’t have to wait at all. I have asio guard enabled and work with a buffer size of 128 all the time no matter how big the project is. And when I need to record something I start recording… (RMR Fireface UFX)

The buffer size you set is the latency of the track you’re recording (or have record enabled). So at 2048, that’s very high for recording.

ASIO Guard only affects all other tracks that are not record enabled or expecting real time playback.

If you set ASIO Guard to High, this will give all non record enabled tracks a higher latency and therefore reducing even more CPU load. Setting ASIO Guard to Normal will give all non record enabled tracks a slightly lower latency than the High setting.

I’m no expert but this is my understanding.

Thanks guys.

So would an easier way to explain this is that you have one buffer size for the ASIO Guard tracks, and another buffer size for the record enabled tracks? So like 2 independent buffers going on? …where the one you set for your project is the lower buffer?

So if I set my buffer to 128, I will get a nice low latency experience recording my piano VSTi… But the other tracks will play back as if my buffer is set much higher? … which I presume means that when you press record or play, you will still experience the larger delay before the actual project starts playing (which happens with larger buffer sizes), but you won’t experience the annoying latency when you’re playing your actual VSTi.

This would make the most sense to me from a software development standpoint, because you would want to try to figure out a way to separate the record-armed track from the huge latency issues that occur with large buffer projects.

But the question still remains, if ASIO Guard is preprocessing tracks, wouldn’t it help to wait to give it time? …or is it more like ASIO Guard does all the calculations for static tracks in the background and just saves that information into like a 2-track mix that just plays that mix instead of doing the processing in real time every time you rewind and play… ?

That would make sense. Just take all the non-record-enabled tracks, and preprocess them, and save them into a two-track mix that plays along with you while you’re recording a new track. That would allow ultra low latency. But see, as soon as you make one little change in one of those non-record-enabled tracks, ASIO Guard would have to then preprocess its mix again. So it would make sense after every tweak to wait for it to catch up.

Actually, that makes me think of a great idea:
(Or maybe there’s already a better way of doing this?)

Why not build in a quick “2-track mix mode” for background tracks?

Let’s say I’m mixing a project and suddenly I want a guitar recorded…
Well, I could create a new track, record-enable it, and then hit a keyboard command that simply puts the rest of the project into “2-track mix mode” for all the other tracks, disabling all the inserts and eqs, etc. I would immediately have ultra low latency happening. (as if I did this myself by actually creating a 2-track mix, closing the project, opening a new project and importing that 2-track mix, and then creating a new track to record on.)

Now I can work for hours on end, deliberating over every aspect of a piano take, comping stuff, etc. and have no worries about background processing and latency.

Details on ASIO-Guard in Cubase and Nuendo
https://helpcenter.steinberg.de/hc/en-us/articles/206103564-Details-on-ASIO-Guard-in-Cubase-and-Nuendo
Constrain Delay Compensation
https://steinberg.help/cubase_pro/v10.5/en/cubase_nuendo/topics/vst_instruments/vst_instruments_constrain_delay_compensation_c.html
Preferences>VST>Delay Compensation Threshold (for Recording)
https://steinberg.help/cubase_pro/v10.5/en/cubase_nuendo/topics/preferences/preferences_vst_r.html

Hi,

What about to use Freeze function? Or you can just Export Audio Mixdown (offline) and import it to the project immediately after the export. Then you can Solo this Mixdown and the arm recorded track only.

Why the running in circles?
Enable the asio guard, set it to high, change your buffer to 128 and forget it…

Sure, but freezing or exporting/importing would be much slower than just a quick key command “2-track mix mode” thing… Plus, soloing doesn’t disable all the other processing… so you’d either have to do that manually, or use the constrain delay compensation thing, I presume.

If that works, then great.
Does that work for you when your ASIO reading is up near 95%?
ASIO Guard works wonders in that situation?

I’m looking for others’ experiences. One gent above says that works well enough for him. That’s great.