Wie schon gesagt... der PC ist überhaupt nicht spezialisiert dafür...
die soundkarte mag zwar schnell sein mit ein-/ausgabe... aber wenn der rest nicht zusammenstimmt, nützt das gar nichts...
- der PCI-bus... ist wesentlich langsamer als das restliche PC innenleben... außerdem muss sich die soundkarte den bus mit allen anderen geräten teilen, zb. netzwerkkarte, tv-karte, etc...
- hierarchien... der pc verfügt über interrupts, die hierarchisch abgearbeitet werden, sollte etwas uur wichtiges vom prozessor oder von der grafikkarte wo hinmüssen... dann kann sich die soundkarte hinten anstellen...
- dasselbe beim betriebssystem... wenn windows-interne prozesse oder höherpriore prozesse systemressourcen anfordern, dann kriegen sie diese... auch gleich priore prozesse behindern die soundauswertung...
- das problem ist, das das ganze system genutzt werden muss, nicht nur die soundkarte... speicher brauchst du vom ram u. festplatte... ebenso brauchst du rechenleistung von der cpu usw... das ist alles mit anderen prozessen beschäftigt... und lässt vieles links liegen, wenn was anscheinend wichtigeres daherkommt...
die optimale lösung für ein digitaltechnikgestütztes, pc-basierendes system wär ein PC, der mit einer eigenen recordingSW bootet... also statt windows dann eben ein modeling und recording programm... damit haben andere dienste gar keine chance dazwischenzufunken... heißt natürlich, dass man nix anderes machen kann... ich denke bei den heutigen rechnern würde das schon ausreichen, um wirklich keine hörbaren latenzzeiten zu produzieren...
die beste, auf dem nahezu gleichen system basierende lösung sind HDD-recorder... die kosten natürlich auch dementsprechend... und die kann man vor allem nicht für andere sachen einsetzen... denn da spart man sich natürlich alles überflüssiges... das man eh ned braucht...
ps.
damit ich heut auch noch klugscheissen darf:
das parallele abarbeiten in DSPs wird vor allem durch pipelining
realisiert... d.h. es wird etw. gerechnet, und gleich danach wird auf leitung 2 was gerechnet... sobald leitung 1 fertig ist, wird das ergebnis freigegeben... leitung 2 hat auch schon fertig und rechnet mit beiden ergebnissen weiter... also ist jede pipeline (hört man ja so gern bei grafikkarten, nur keiner weiß wirklich, was es issss)... auf das ergebnis der vorhergehenden angewiesen... um eine kontinuierliche auslastung und gleichmäßige abarbeitung zu gewährleisten braucht man vor allem viiieeel cache und einen klugen algorithmus, der das wahrscheinlich gleich benötigte schon mal aus dem speicher holt und dann schnell dem cpu zur verfügung stellen kann... (bei den neueren pc-cpus liegt der wert über 90%!!! die sind übrigens nur mehr äußerlich von neumann-architektur... innerlich auch schon havard...)
hazards entstehen vor allem bei programmsprüngen... sollte man durch nicht vorhersehbare ereignisse (benutzereingaben... anderes ampmodeling ausgewählt...) plötzlich alles anders rechnen müssen, so muss alles, was ich schon gerechnet hab verworfen werden... und alles für die neue aufgabe erst geladen werden... hier kann es auch bei effektgeräten sehr wohl noch zu verzögerungen kommen... da hier nicht nur die parallele abarbeitung von vorn beginnen muss (die ja die rechenleistung beinahe "vervielfachen" kann)... sondern auch die daten noch nicht im cache liegen, sondern erst aus dem langsameren hauptspeicher geladen werden müssen...
so... alle nicht informatiker könnens wieder vergessen... alle mitinformatiker können mir jetzt sagen, wos i vergessn hob...
und alle: nicht vergessen... E = m * c² !!!
Und so lange meine gitarre keine elektronen mit (beinahe) lichtgeschwindigkeit ausspuckt... wird mich jack bauer auch nicht verfolgen
Und ja... zum elektronen anstoss... der geht natürlich auch nur mit beinahe lichtgeschwindigkeit... ein kleiner vergleich... stellt euch mal vor, ein stock aus z.b. holz von der erde bis zum mond... wenn ihr auf der erde den stock 1 cm raufschiebt, dann würde er sich am mond erst sekunden oder sogar minuten danach bewegen... da jedes atom das nächste verdrängen muss...
mfg guitargeorge