An dieser Frage habe ich mich vor paar Jahren auch schon heftig
gestoßen. Die Erklärung von 4damind erschlägt fast alles.
Die einzige Frage, die bei mir offen geblieben ist: Warum macht der
Betriebssystem-, Sequenzer- oder Kartenhersteller die Blockgröße
nicht variabel bis im Extremfall hinunter zu 1-Sample-Blöcken?
Wenn man niedrige [g=5]Latenz[/g] bräuchte, könnte man dann die Blockgröße
verkleinern, so dass auch bei 44,1KHz die Blöcke in der gleichen Zeit
gefüllt werden könnten, wie bei der momentanen Blockgröße bei
88,2 KHz. 44,1KHz dürfte bei halber Blockgröße den Rechner
auch nicht stärker belasten als 88,2 bei normaler Blockgröße.
Einziges Limit: Überlastung des Rechners durch regen Austausch
von millionen Kleinstblöcken.
Andererseits: Wenn die Betriebsystemhersteller die Möglichkeit
hätten, die Blockgröße weiter zu reduzieren, dann würden sie es
wahrscheinlich so schnell machen, wie sie könnten. Apple und MS
werden sich da wohl nichts schenken.
Das gleiche gilt für die Sequenzerhersteller.
Nun bleibt nur die Hardware als Ursache übrig, dass sie es trotzdem
nicht machen. Ich vermute stark, dass der PCI-[g=183]Bus[/g] der Flaschenhals
in der Blockgröße und damit der [g=5]Latenz[/g] ist.
Mittlerweile gibt es von Apogee die Symphony-Geschichte,
die auf dem [g=18]Mac[/g] über PCI-Express I/O- Latenzen von 1,5ms
bringen soll. Ich denke, die anderen Kartenhersteller werden
in den nächsten Monaten mit ähnlichen PCI-E-Karten ähnliche Werte
auch auf dem PC erreichen.
Aber: Obiges ist alles nur meine Theorie und Philosophie und muss
nicht stimmen.