Performance improvement from driving the Osc amplitude with an ADSR
  • Hey Taylor!

    I have a question. In Audulus 2.0 description it is said that we should see a performance improvement from driving the Osc amplitude with an ADSR. Indeed, when this amplitude is set to 0, the CPU hit drops. But when I plug an ADSR to the amplitude, the CPU hit is the same as an amplitude set to 0.5, even if the ADSR sends 0... I probably misunderstood something.

    Cheers!
  • Hey SansNom, I just tested it by modifying the Welcome example patch by moving the ADSR before the Oscs. So now, when I'm not playing, each Osc is taking .002ms. When I play an 8-note chord (the max polyphony on Mac), the Oscs go up to between .014ms and .24ms (the one with sync is a bit slower). Are you using the timing mode to see the CPU savings?

    I'll also test on iPad :-)

    cheers
    - Taylor
  • Ok, and on my iPad 3, the heaviest Osc in that patch goes from .023ms to .5ms when 4 notes are sounding. Overall CPU load for the patch goes from .22 to .38.

    cheers
    - Taylor
  • OK thanks, I think I've figured out what is the problem: what you say is correct when you use a keyboard as the Midi IN controller for the ADSR. When you use the trigger, there is no change, though they both output 0.
  • Ah, good point! I just looked at the code and the Trigger isn't smart about indicating if its output is zero. I'll fix that!

    thanks!
    - Taylor
  • Hey Taylor, I just wanted to know if this will be fixed in the next update. I don't use Audulus so much these days because of that, but I would love to do some patching again...

    Cheers
  • Yeah, I'll have that fixed in the next update. I should have done it in the last update but it slipped down the issue tracker's priority list :-\

    As a work around, what about using the velocity output of the Keyboard node?

    cheers
    - Taylor
  • No, that won't work in this very particular patch... Though I'm wondering if these poly to mono nodes could be used...