Calculating the smallest possible Buffer Sizes?
-
- Posts: 2
- Joined: Wed Feb 12, 2020 2:32 pm
Calculating the smallest possible Buffer Sizes?
I am currently trying to tweak Voicemeeter, to lower buffer sizes and thus latency of the sound and since for now i am just doing a lot of guesswork for now, i am curious: Is there a way to actually calculate a minimum buffer size?
-
- Posts: 173
- Joined: Tue Feb 18, 2020 12:04 am
Re: Calculating the smallest possible Buffer Sizes?
Short version: Guesswork/experimentation is the only way
Minimum latency/buffer size is dependent greatly on a lot of parameters. From driver performance, general system performance to service the drivers, load on your CPU at any given time, memory throughput, all kinds of things play into this.... So, it's different for everyone, and you have to experiment to find out just what your specific setup can do.
Just an example from my PC: I am able to set the WDM buffers in VM to 128b, and everything works fine. Hooray. So off I go to play some games. My CPU is pushed close to 90% and things are OK. Hooray. After almost two hours, I turn a corner, the game tries to load game assets into memory, and the audio starts to crack and pop. Darn. I could have sworn it was working....Up to 160 I go.....
So, not only will you have to try to find a configuration which appears to work, but also to make sure it actually does. You can save some time on this by placing a load on your system (such as a CPU benchmark, stress test, or the like) during your initial testing. This will save you some time in excluding certain configurations which might work when your PC is idle but not when it is under load.
Minimum latency/buffer size is dependent greatly on a lot of parameters. From driver performance, general system performance to service the drivers, load on your CPU at any given time, memory throughput, all kinds of things play into this.... So, it's different for everyone, and you have to experiment to find out just what your specific setup can do.
Just an example from my PC: I am able to set the WDM buffers in VM to 128b, and everything works fine. Hooray. So off I go to play some games. My CPU is pushed close to 90% and things are OK. Hooray. After almost two hours, I turn a corner, the game tries to load game assets into memory, and the audio starts to crack and pop. Darn. I could have sworn it was working....Up to 160 I go.....
So, not only will you have to try to find a configuration which appears to work, but also to make sure it actually does. You can save some time on this by placing a load on your system (such as a CPU benchmark, stress test, or the like) during your initial testing. This will save you some time in excluding certain configurations which might work when your PC is idle but not when it is under load.
-
- Posts: 192
- Joined: Fri May 01, 2020 7:25 pm
Re: Calculating the smallest possible Buffer Sizes?
VB-CABLE's documentation includes a guide to Configuring VB-CABLE system settings which, although not specific to Voicemeeter, presents some useful considerations about latency and buffer size. The Virtual IO Control Panel included with Voicemeeter shows, among other things, the number of buffers received by the VoiceMeeter Input according to their size (b128,b256,etc).
Another informative article from Microsoft: Low Latency Audio (Again it is not specific to Voicemeeter but helps to clarify some points and presents improvements in Windows 10 Audio Stack).
Another informative article from Microsoft: Low Latency Audio (Again it is not specific to Voicemeeter but helps to clarify some points and presents improvements in Windows 10 Audio Stack).