On 18.09.24 08:48, Will Godfrey wrote:
It's REPORT_NOTE_ON_TIME in the code. The switch is the one marked 'Log Load Times'. It is shared with loading instruments. This might not be ideal, and maybe we should have a separate switch, although I found it interesting to see the two reported together..
OK, but this switch does not yet properly guard the problematic code in SynthEngine yet. So we can not just remove the compile time guard and be happy. It would especially concern me if Yoshimi is delivered in a state where IO (like printing to console) happens from the realtime processing threads enabled by default, and even so frequently as on every note. We know, one can use IO for diagnostics. We developers do it all the time. But it interferes with the correct behaviour of realtime processing. IO blocks, it is *tremendously* expensive (especially number to string conversions and formatting) and the mere fact of accessing other thread's memory creates a random slow down. It just happens randomly, and thus it is not question /if/, but a question /when/ and /where/ it happens. So if we give such a feature to users, we should ensure it is switched off by default, and there should be a warning to the user, at least in the tooltip of the config setting. -- Hermann _______________________________________________ Yoshimi-devel mailing list Yoshimi-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/yoshimi-devel