FAQ omits latency added by api.alsa.disable-batch and api.alsa.headroom
The wiki FAQ section about latency does not mention that api.alsa.disable-batch
and api.alsa.headroom
add latency compared to using ALSA directly (or JACK in synchronous mode). I have done some experiments measuring roundtrip latency with Mixxx using the PortAudio JACK backend to connect to PipeWire and found that setting api.alsa.headroom = 0
reduced the latency by about 1 ms and api.alsa.disable-batch = true
reduced the latency by about 22 ms. The additional latency seemed to be unrelated to the buffer size in my testing.
I am questioning if PipeWire should add any latency by default. I have not yet experimented much to determine whether there is more glitching with those options disabled. Regardless, the FAQ should mention that users should uncomment these lines in alsa-monitor.conf
if they want minimum latency.