fweth hat geschrieben:
Ja, das is noch ökonomischer (habs getestet). Es verbraucht übrigends weniger CPU, wenn man die Module alle auf Float einstellt (außer natürlich das Round Modul). Hat Integer eigentlich irgendeinen Vorteil, außer wenn man einen Wert runden lassen möchte? ...
Freut mich. Ist allerdings auch eine etwas andere Anwendung: Weglassen des frac-Anteils = Rundung abwärts auf den Integerbestandteil. So ist die Funktion auch definiert.
Der geringere CPU-Verbrauch für den Fall, dass alles auf Integer eingestellt ist, erklärt sich dadurch, dass es dann keine Konvertierung float/integer gibt, die - s. Core-manual - nun mal mehr CPU kostet. Dann macht das Macro aber nicht mehr das, was es soll; schau mal nach.
Integer-Werte haben viele Vorteile. Zwei seien hier genannt:
- Solange die Werte nicht mit Dezimalbrüchen multipliziert werden, was ja wieder zu float-Werten führt, entfällt jegliche Rundungsfehler-Problematik.
- Integer-Counter "laufen" VIEL länger. Versuch mal, einen Counter im PrimaryLevel zu bauen. Bei (2^24)-1 ist Schluß. Mit Core-Integer-Zahlen geht es bis (2^31)-1 ! Das entspricht über 13,5 Stunden sauberen Laufes bei SR=44,1 kHz - auf anderem Wege komplett unmöglich.
Viele Grüße, Gerald.