CPU Usage Optimization Tips
1. Connect the VR module of the instrument to the A output of the amplitude envelope, thus getting the optimal voice allocation.
2. Turn Fast Update parameter Off for those switches for which it is not required to be on. This eliminates inactive branches from evaluation.
3. Try to keep the signal at event rate for as long as possible.
4. Avoid if possible using time-consuming modules in continuous rate signal path. The very much time consuming module is A^x. Less time-consuming modules (but still better to avoid them) are Div (only if the denominator is continuous rate signal, otherwise works quite fast) and Relay.
5. Some standard modules (e.g. filters) have their own settings available via their panel (right-click the module and select Show Panel). The settings are usually set to the maximum precision/safety of evaluation. However under many circumstances this settings can be changed to less CPU time-consuming.
6. When using a switch (or even a relay) try to use the switch to select between different sources rather than route to different destinations. E.g. instead of sending the signal either to the delay or distortion (depending on the switch position), send signal to both units and use switch to select between the effect units outputs. With Fast Update parameter Off this will eliminate the unused effect unit from evaluation.
7. Avoid floating point overflow (too big values) and underflow (too close to zero values). Currently SynC Modular uses 4-byte floating point numbers. This means that numbers as big as +/-1E+38 () and as small as +/-1E-38 (
) are allowed. The zero is also allowed. However -1E+40 or 1E-40 are not allowed. Such values can essentially (10 times and more) degrade the performance of the SynC Modular if they fall into continuous rate signal path.
Note. One exception is underflow in feedback paths, which is quite common case, because the signal is usually exponentially decaying in those. This case is automatically handled by SynC Modular and does not lead to performance degradation.
8. When playing multitimbral ensembles select the empty instrument slots for the currently unused parts. Otherwise the monophonic modules of the selected instrument will continue to consume the CPU time.
9. It is not necessary (from the CPU performance point of view) to remove the unused pieces of structure. If a module's outputs are not connected to the WaveOut, VR or the instrument's Outs module (either directly or via other modules), the SynC Modular automatically removes this module from evaluation process.
10. There is no way to find the CPU consumption caused by a specific module within the structure. You can tell it only by disconnecting modules and looking at the CPU consumption changes.