diff options
Diffstat (limited to 'synth/OPTIMIZATIONS')
-rw-r--r-- | synth/OPTIMIZATIONS | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/synth/OPTIMIZATIONS b/synth/OPTIMIZATIONS index 07cbcff..14d5f4f 100644 --- a/synth/OPTIMIZATIONS +++ b/synth/OPTIMIZATIONS @@ -14,6 +14,13 @@ Mögliche Optimierungen note->set_param wird unnötig pfactor-zeuch läuft extra: wird kopiert, und bei jeder pfactor-änderung mit dem pfactor verrechnet + o ??? seltener cleanup rufen, stattdessen als inaktiv markieren + -> effekt: noten können wiederverwendet werden, seltenere ctor-aufrufe + o ??? KSL mit powf und floats statt mit double umschreiben + o ??? statt lfo-nummer direkten zugriff auf curr_lfo angeben? + o ??? bei tremolo (und vibrato?): eventuell nicht prüfen, obs aktiviert + ist, sondern zur not einfach *1 rechnen? + o ??? beim default_program vielleicht auch ein optimiertes objekt benutzen? x 0% beim channel::get_sample: pro note immer mehrere samples auf einmal holen (iterator braucht recht viel leistung) wird von g++ automatisch wegoptimiert -> ok @@ -21,9 +28,3 @@ Mögliche Optimierungen Kein negativer Einfluss auf die Performance: o _virtual_ void Note::get_samples (mit time nicht erkennbar) -Mögliche Bugs und ihre Lösung: - o frequenz wird nicht genau eingehalten: phase um - foo*WAVE_RES erhöhen, entsprechend wave[][bar] ändern. - ABER: im testfall um bis zu 15% langsamer - - |