On Wed, Feb 7, 2018 at 9:26 AM, Roman Haefeli <[email protected]> wrote:
> On Mit, 2018-02-07 at 14:32 +0100, Lorenzo Sutton wrote: > > On 30/01/2018 11:07, Roman Haefeli wrote: > > > > > > On Mon, 2018-01-29 at 10:25 +0100, Roman Haefeli wrote: > > > > > > > > > > > I'm working on a patch that transmits audio through UDP. The > > > > patch > > > > runs > > > > totally smooth on macOS (10.10 and 10.11) with Pd 0.48-1 and JACK > > > > as > > > > back-end. On the Linux machines I tested (all Ubuntu 16.04) with > > > > the > > > > same version of Pd I get a lot of glitches, although I'm using > > > > very > > > > similar Jack settings (128 frames/period, 3 periods). > > > Update: > > > My personal, somewhat outdated laptop from 2007 has absolutely > > > stable > > > performance with same patch, same Pd version, same OS, same kernel. > > > To > > > be clear: It's only Pd that performs well on one computer and not > > > so > > > well on others. I get glitch-free audio with Ardour on all tested > > > computers. So I wonder what circumstances affect specifically Pd. > > > It's > > > a pity the most powerful computer I have access to is in its > > > current > > > state not suitable for Pd projects :-( > > One thing to try from totally non-scientific personal experience > > would > > be to look into CPU scaling stuff when using Pd. The fact that an > > old > > machine works well possibly hints that this might be the culprit, so > > worth trying. I experimented with this when pushing my Granita > > granulator with realtime input being fed to the buffer and trying to > > eliminate as much as possilbe "smart" CPU stuff improved things quite > > a > > lot... On my previous laptop I could set various governors on my > > current > > one there is only powersave and performance, the latter should work, > > but > > also trying to set a fixed frequency... You have to experiment a bit. > > Thanks for mentioning that. Setting the governor to 'performance' for > all cores is part of my standard setup when going into 'performance' > mode with Pd. Even on my old laptop (CPU: Intel Core 2 Duo T8300) I > need the scaling governor to set to 'performance'. To my non-scientific > eye it looks like Pd in realtime mode has a higher priority than the > service controlling CPU frequency, so that switching to a new frequency > would happen only after Pd's need for it is over. > > The issue I'm having here is not related to CPU frequency scaling (at > least not exclusively). Even when all cores run under 'performance' and > at maximum clock speed, I get crackles with the new laptop (CPU: Intel > Core i5-7300U). Yet, the only reliable way known to me so far to get > running Pd crackle-free is to run four instances of 'yes > /dev/null > &'. This seems to keep whatever resource Pd needs to access quickly > awake and available. While those four instances of 'yes' are running in > the background, it doesn't matter what governor I set since they keep the cores at their maximum frequency anyway. > > Maybe there's a way to force all the Pd-related processes to run on the same core, as it could be that the transfer of memory from one to the other causes glitches, so if jackd is on a different core than Pd there will be latency as they transfer access to the buffer from one to the other. Just guessing... Martin
_______________________________________________ [email protected] mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
