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

Reply via email to