summaryrefslogtreecommitdiff
path: root/synth/OPTIMIZATIONS
diff options
context:
space:
mode:
Diffstat (limited to 'synth/OPTIMIZATIONS')
-rw-r--r--synth/OPTIMIZATIONS7
1 files changed, 5 insertions, 2 deletions
diff --git a/synth/OPTIMIZATIONS b/synth/OPTIMIZATIONS
index 2dd003f..b8bfe0d 100644
--- a/synth/OPTIMIZATIONS
+++ b/synth/OPTIMIZATIONS
@@ -1,7 +1,7 @@
Sinnlose Optimierungen
o if(foo.fm_strength!=0) ...: kein effekt, höchstens leichter anstieg!
- Mögliche Optimierungen
+Mögliche Optimierungen
o 10% filter ganz auf fixed_t umstellen?
o 5% envelope::get_level nur alle n frames arbeiten lassen, sonst cachen?
o 2% bei LFOs: bei jedem LFO-update die werte für env-max, freqfactor
@@ -11,8 +11,11 @@ Sinnlose Optimierungen
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
+
+Kein negativer Einfluss auf die Performance:
+ o _virtual_ void Note::get_samples (mit time nicht erkennbar)
- Mögliche Bugs und ihre Lösung:
+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