Tidal CPU Optimization

I was curios to know more about the way tidal works and how to optimise performances.
From what I know having more RAM on your computer is useful if you want to load more sample on SuperDirt while having a faster Processor will increase the number of events in the pattern your computer can manage... Am I right?
Also I would like to know if tidal uses multiple cores or just a single one.

1 Like

Tidal hasn't ever really been oprtimised, luckily Haskell is nice and fast! But yes a faster processor will likely give you higher polyphony.

There's three main processes (aside from the editor), the tidal pattern engine, then on the supercollider side sclang managing the sound synthesis and scsynth actually doing the synthesis. I don't think any does any parallel stuff but it will take advantage of at least three processors.

In BootTidal.hs you can configure cFrameTimespan, which is by default 1/20, which means tidal calculates in chunks of one 20th of a second. This is a balance between smaller values (e.g. 1/30) that spread the load better and improve interactivity (i.e. decrease latency), and larger values (e.g. 1/10) which might (or might not) decrease the overall load. I haven't spent much time tweaking this.. Also in there is oLatency, decrease that for greater interactivity, or increase it to increase latency but iron out 'spikes', e.g. if you see superdirt complain of late messages.

1 Like

:slight_smile: which machine/operating system are
you running/looking to run tidal on?

since tidal is divided into three application (the tidal language, the supercollider language, the supercollider synth), at least you use three cores.

So for example if I get skip messages inside Tidal I could try to increase the cFrameTimespan similar to how I would increase a buffer size inside a DAW?

I use both macOs and windows but my question was more general not just about my particular case

1 Like

Changing cFramespan will likely help.. In a slightly different situation (visualing patterns) I've expected that increasing the framerate would help, but actually decreasing it has improved efficiency massively. So try both directions.

1 Like