HI there,
I was doing some experiments yesterday regarding audio latency with RetroArch. Similar results can be seen on GNU/Linux on both desktop-class i5 PC (KMS/DRM+GLES / Alsathread) and Raspberry Pi (Dispmanx+GLES / Alsathread ), so I guess they are aplicable to any GNU/Linux system with a decent ALSA and GLES implementation.
Thing is, if I set “Dynamic Audio Rate Control” to 0.000, I can set “Audio Latency” to a value as low as 16ms with no video problems at all and no audio dropouts, only some occasional crackling because of the lack of…well, dynamic audio rate control. Of couse, I can set a higher “Audio Latency” value, but as long as I have “Dynamic Audio Rate Control” set to 0.000, I WILL have occasional crackling anyway. That’s to be expectec.
“Dynamic Audio Rate Control” is a very good general solution, but, how could I get rid of the cracking without it? I take it corrects the audio resampling frequency “on the fly” to compensate the physical vsync frequency fluctuations, so… should it be possible to build a kernel with next-to-zero physical vsync frequency fluctuations so “Dynamic Audio Rate Control” becomes un-needed?
PD: I am already running the RetroArch process in isolated cores (isolcpus) that NEVER receive an interrupt when RetroArch is not running on them. No background services either.