summaryrefslogtreecommitdiff
path: root/synth/OPTIMIZATIONS
diff options
context:
space:
mode:
Diffstat (limited to 'synth/OPTIMIZATIONS')
-rw-r--r--synth/OPTIMIZATIONS13
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
-
-