The first column is an approximate latency comparable to the PipeWire period.
The last column is the requested end-to-end latency. JACK in asyn

Performance · Wiki · PipeWire / pipewire · GitLab

submited by
Style Pass
2021-06-28 23:30:04

The first column is an approximate latency comparable to the PipeWire period. The last column is the requested end-to-end latency.

JACK in async mode only collects the client samples in the next iteration. This results in an extra period of latency but also avoid a context switch for each period (and associated CPU instructions).

The RAW midi backend is not really better than the seq backend in JACK2 and consumes more than twice as much CPU due to busy waiting (7.7M vs 19.5M instructions).

Latency on USB devices is by default worse than JACK2 but can be made comparable with some tuning. The reason is that USB devices are usually labeled as batch devices that update the read/write pointers only on each IRQ update. This adds one period-size of latency for USB devices. By lowering the period-size, or by disabling batch handling we can lower the latency considerably.

All latencies are measured with jack_iodelay and a loopback cable. Listed are total roundtrip latencies as reported by jack_iodelay. Samplerate of the device is set to 48KHz.

Leave a Comment
Related Posts