[PD] Why do i get glitches at 70% cpu load?

Roman Haefeli reduzent at gmail.com
Mon Oct 6 13:21:33 CEST 2014


On Sat, 2014-10-04 at 13:34 -0700, Ronni Montoya wrote:
> Hi, i have a very big patch that is producing glitches at 70% cpu load.
> Is this normal behaivor?   With my old computer i only used to get
> glitches when i go over 100 % cpu load .....any idea why its producing
> 70% cpus load?
> The patch has a lot subpatches and a lot of big tables with data (like
> 100 tables)  ... is this a bad practice in pd?   having a lot of
> subpatches, gui elements  and tables can affect the sound?
> Do you think that it would be better if i put all in just one patch (
> withouth too much subpatches?), and delete gui elements ? maybe are
> the tables?
> What do you recommend me?
> 

CPU load in and glitches might correlate, but they do not so
necessarily. CPU might not be the only bottle neck, there is also I/O
and memory access. 

Even if the CPU is the culprit, there are scenarios where you experience
glitches with a CPU load of 70%. What does CPU load in percent mean? It
means that in a certain time frame x percent of CPU cycles have been
used and 100-x percent have been idling. Assume your latency setting in
Pd is much shorter than the time frame used for measuring CPU load. If
you require Pd to do n calculations within m ms, this might cause an
audio drop-out because the CPU is too slow, but it might still show a
load of only 70% in your CPU monitoring tool, because the remaining time
of the measuring window the CPU was not doing much. 

You can easily trigger this by something like

[bang(
|
[100000( <- adjust that value at your will
|
[until]
|
[1.23489435(
|
[pow]

Depending on your CPU and latency setting, you may want to alter the
number in the message box in order to reliably, but only quickly cause a
glitch.

What you could do (combine at your will):

a) make your patch less demanding at times. For instance, do not too
many things in zero logical time.

b) increase your latency setting

c) get a faster CPU

Roman






More information about the Pd-list mailing list