Will Muldrew - 2020-12-24

Hi

I'm pretty new to jamulus, but it looks great. I'm currently experimenting with optimising setup for the lowest latency. Obviously there's only so much one can do about the ping times and the jitter from any internet connection, however I'm wondering if you have any stats for the internal jitter and its sources.

I see ~20ms of latency when running a local server and client on the same machine. My understanding is this is dominated by the buffer size/duration * the number of server + client buffers required to get an acceptable drop out rate. My local setup settles at about 3+2 for auto, and degrades a lot if I disable auto and shrink the buffers.

Do you know why there's so much UDP jitter for a local client and server? Is it timeliness of the server and or client wake-up for recvfrom()? Has anyone played with non-blocking sockets or even spinning (if you've got spare cores)? Are there any tips for OS tuning on windows/linux/macos to somehow shield the jamulus processes from contending with other processes (e.g. pinning, irq disabling etc).

I'm keen to experiment with my OS settings and the source code, but I wouldn't want to be going over old ground!

-Will

 
👍
1