No there is no way to separate the DSP from the list operations, that's just the way Pd is. What you would do on a computer when you encounter this problem is simply to increase Pd's "Delay" (which increases an internal buffer and thus the latency). Currently on Bela we have a limit of 128 samples per block, however we are working on increasing it https://github.com/BelaPlatform/Bela/issues/388 , and that should happen around the end of August. Until then, you have two possibilities:
One, which is lots of fun involves having multiple instance of libpd
, as it recently added support for multi-instance, but I have not looked into that myself, so you'd be on your own (though I'd like to hear what comes out of it!).
The other is to try - if possible - to reduce the number of message-rate computation you do in each DSP block. For instance, can you add a [delay]
between processing each of the elements of the list?