On Sun, 17 Apr 2022 05:01:53 +0200
Ichthyostega <p...@ichthyostega.de> wrote:
The most extreme test case I've investigated computes a single 100ms note.
To reiterate: the PADsynth is configured beforehand and the new wavetable
is built and installed completely /before/ starting the time measurement.

Averaged times (20 Test runs each):

- old code: 0.5137ms
- concurrent: 1.3588ms
- Legacy mode: 0.5064ms
...
To conclude: if we go ahead with this feature, computing PADSynth got slightly
more expensive. In typical usage, I'd expect that effect to be not noticeable;
however there will be corner cases, and some usage patterns might be affected.
In those cases however we can recommend to switch to the Legacy mode, where
PADSynth is still muted as before and the wavetable is rebuilt blockingly.

Am 17.04.22 um 19:35 schrieb Will Godfrey:
With those sort of differences I don't think it will be noticed, although
obviously not ideal. There's probably more variation with incoming MIDI jitter.

Agreed.
And I've just covered this effect with further tests:
This time we play short notes 120ms + 80ms pause, but for an extended time.
To be sure, I made a series for sound times 10s, 30s, 60s and 100s
and I run each test case 60 times to average out the (significant) fluctuation.

The results show clearly that this is a baseline or socket effect; we have
to pay for it, whenever we hand over a new wavetable to the Synth thread.
You can see that the numbers show an excellent linear progression, and
that the curve for the background build (orange) is shifted vertically
by a small amount of ~ 4-5ms. Most importantly, this additional overhead
does not increase proportionally for the longer play times.

|(s)     Legacy  Backgr  Δ
| 10      44.98   49.65  4.7
| 30     134.40  138.60  4.2
| 60     264.75  269.08  4.3
|100     444.34  449.91  5.6


_______________________________________________
Yoshimi-devel mailing list
Yoshimi-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/yoshimi-devel

Reply via email to