FlexASIO
FlexASIO copied to clipboard
How to reduce latency to 20 ms or less.
Currently, I am getting 52ms of latency. I want to reduce it to 20ms. So, What parameters i can change to reduce it. Can anyone help me out.
Thanks in Advance.
Have you tried the advice in the FAQ on that topic?
Yes, I tried with different values of suggestedLatencySeconds like 0.0, 0.10, 0.20. in configuration. But there is no impact on latency.
suggestedLatencySeconds
is only one third of the equation. The most important option is the backend, followed by buffer size. Have you tried experimenting with those? For example, I doubt there's any way to get an end-to-end input-output total latency of less than ~40 ms without using an exclusive backend (WASAPI Exclusive or WDM-KS).
If you want to optimize for latency, you're gonna have to take the time to try many combinations of backends, buffer sizes, and other options. Some of them will provide lower latency, but they might not be reliable enough (e.g. will cause glitches), or might cause other issues. It's mostly a matter of what is acceptable to you. In the end, the minimum achievable latency, and how to achieve it, is highly system and use case specific - it depends on hardware, on the ASIO Host Application, on whether your stream is input, output, or both, exotic options of the application or the OS (e.g. process scheduling priority), etc. It's difficult to provide generic advice on the matter; the only way to make progress is to experiment.
what is the minimum latency achieved by flexASIO and how to check the correct latency of the driver? Kindly suggest something to lower the latency.
I don't know. I don't care about latency as far as my personal use cases are concerned, so I haven't looked too deeply into the latency characteristics of FlexASIO. The current documentation is mostly a best guess. You will need to investigate things yourself. Feel free to suggest specific changes (to the documentation or code) if you discover something interesting.
I have tried several combination of backend and buffer sizes. Minimum I achieved 35.8 ms latency. But at the same configuration ASIO4ALL give 23 ms of latency. Is there any other way to achieve latency near ASIO4ALL like add more buffers in the code.