Zitat Zitat von Nightspider
Bei CPUs kommt es sicherlich genauso auf Nanosekunden an wie bei Soundkarten.
Windows ist aber kein Echtzeit-Betriebssystem sondern ein Multitasking-Betriebssystem. Dort ist nicht sichergestellt, dass dein Programm alle paar ns zum Zug kommt. OK. Nanosekunden ist vielleicht ein wenig übertrieben, aber trotzdem muss sichergestellt sein, dass die Soundberechnung in regelmäßigen Abständen zum Zuge kommt.

Wenn du zum Beispiel ein anderes Programm startest und es zu Unterbrechungen in dem Sounstream kommt, bringt das den DSP aus dem Rythmus.

Die X-Fi erwartet, dass sie durchschnittlich jede µs zum Einnsatz kommt um ihrer Arbeit zu verrichten. Maximal kann sie mit ihrem Puffer 120µs überbrücken. Sollte es dort zu Unterbrechungen kommen fängt das Ding fürchterlich an zu knacken, Effekte spielen verrückt, Rückkopplungen treten auf und andere unverhersehbare Dinge passieren.

Hab's selbst miterleben dürfen. Da hilft manchmal noch nicht einmal ein Reboot, da die Kondensatoren der Soundkarte noch so stark aufgeladen sind um diesen undefinierten Zustand des DSPs eine Weile aufrecht zu halten.


während der Sound nun wirklich keiner großen Rechenleistung bedarf.
Da liegst du aber kräftig daneben kodiere doch mal eine MP3 Datei. Das dauert immer noch ein Weilchen und das führt lediglich eine sehr grobe Fourier-Transformation des Tonsignals und eine leichte Komprimierung des Ergebnisses durch.

Effekte sind viel schwieriger zu berechnen und erheblich aufwendiger. Da müssen zig solcher Berechnungen durchgeführt werden. Erst recht, wenn sich Effekte überlagern sollen. Das ist auf der CPU einfach unmöglich, alleine weil ihre Architektur dafür nicht ausgelegt ist.

Ein DSP einer Soundkarte arbeitet massiv parallel und hat spezielle Einheiten für spezielle Aufgaben, die alle parallel arbeiten.

Da ich mich mittlerweile auch ein wenig informiert habe ist auch ganz deutlich geworden, dass so etwas absolut nicht machbar ist und auch nicht geplant ist.

Ich habe mir auch mal das DirectX SDK angesehen und das ist echt zum Lachen, was man da findet. Einfache Hall und Dopplereffekte sind möglich, aber das war's auch schon.

Effekte werden also auch weiterhin auf dedizierter Hardware berechnet. Lediglich DirectSound kann nicht mehr als Schnittstelle verwendet werden.


BTW:
Hier sind ein paar interessante Links zum Thema:

Creative Labs zum Thema hardwarebeschleunigung in Vista
OpenAL® and Windows Vista™


Mit DirectSound wird das also nichts. Wir können nur hoffen, dass die Spieleentwickler alle auf OpenAL umschwenken oder die Soundkartenhersteller gute DirectSound->OpenAL Wrapper bereitstellen.

Es wäre ganz interessant zu erfahren ob Crysis auf OpenAL setzt oder auf DirectDound. Da FarCry damals schon die Möglichkeit bot mit OpenGL zu laufen hoffe ich mal, dass Crytek für Crysis auch OpenAL als Audio-Schnittstelle verwendet hat.


Audigy 2 Karten sind angeblich 50 mal langsamer als eine X-Fi. Diese kann trotzdem EAX4.0 Effekte.
Aber nicht so komplexe Effekte. Sie kann sie nur auf 64 Stimmen und nicht 128 Stimmen anwenden und es können nur 4 anstatt 8 Effekte simultan berechnet werden.

Alleine die Erweiterung von 4 Effekten über 64 Stimmen auf 8 Effekte über 128 Stimmen entspricht schon einem 16-fachen ((8-4)^(128/64)) Rechenaufwand.

Hinzu kommt noch, dass die X-Fi 7.1 Systeme unterstützt und nicht nur 5.1. Die zwei Kanäle müssen ja zusätzlich auch noch berechnet werden.

EAX 4.0 gab es auch nicht von Anfang an bei der Audigy 2...wurde erst später per Patch ermöglicht. Warum sollte das nicht auch über Windows möglich sein ?
Der Patch hat ja nichts anderes gemacht, als den DSP angewiesen andere Effekte zu berechnen. Die Arbeit wurde weiterhin vom DSP gemacht. Per Software wurden da auch keine Effekte berechnet.


Ein speziallisierter Prozessor ist sicherlich viel Effizienter aber ich denke nicht, dass eine CPU zu langsam dafür wäre.
Ist aber nicht so.


Nicht jedes Spiel mit gutem Sound hat EAX Effekte.
Es geht ja noch nicht einmal nur um EAX Effekte. Bei einigen Spielen wird selbst der Surround-Sound nicht mehr gehen und man spielt nur noch in Stereo.


Zumal Soundchips und Grafikkarten sowieso irgentwann wegfallen.GPUs werden mit CPUs vereint und die CPU übernimmt die Audioberechnungen.
Das erwarte ich nicht. Es ist einfach nicht praktikabel. Jedenfalls nicht im Highend Bereich.

AMD arbeitet zwar schon an einer CPU/GPU Combo, aber die Grafikeinheit ist nicht besser als bisherige OnBoard GPU-Lösungen.

Eine Vollwertige 8800GTX wird man nicht in die CPU integrieren können. Zum Einen wäre die Hitzeentwicklung riesig. Dann wäre die Ausschussrate enorm, da eine CPU/GPU/SPU Lösung heute schon über 1 Milliarde Transistoren hätte.

Außerdem wären keine Unterschiedlichen Fertigungsprozesse möglich. Grakas können bisher immer nur noch im 90 und 80nm Prozess gefertigt werden, während CPUs schon seit langem in 65 nm und demnächst auch in 45 nm gefertigt werden.

Ein weiterer Nachteil wäre, dass man immer den kompletten Chip austrauschen müsste, wenn man eine neue CPU oder GPU oder SPU haben will.

Des Weiteren könnten Grafikkakrten nciht auf schnellen GDDR Speicher zugreifen sondern müssen sich mit dem langsamen Ram begnügen. Es gibt massig Nachteile.

Solche Kombilösungen sind nur etwas für Firmen- und billig PCs, von denen man keine großen Sachen erwartet und die man lediglich zum Arbeiten benötigt und um eventuell mal ein video zu gucken oder ein kleines Spielchen zu spielen.


Ich fände es eigentlich klasse, wenn Creative sein EAX Monopol verliert. Es muss eine freie, für alle Spielefirmen zugängliche Software geben, womit jede Soundkarte guten Sound und von CPU berechnete Soundeffekte ausgeben kann.
Es gibt ja freie und offene Schnittstelen. Eine wäre OpenAL, welche zwar auch von CL mit in's Leben gerufen wurde, aber denoch offen ist und von einer Community entwickelt und von CL unterstützt wird.

Es gibt auch alternativen zu EAX. Jeder Soundkartenhersteller hat ja das Recht eigene Funktionen in seine Soundkarten zu integrieren.

Spieleentwickler werden sich aber nicht die Mühe machen die auch noch zu unterstützen. Es reicht schon, wenn sie unterschiedliche Programmpfade für die Grafik schreiben müssen. Die werden sicherlich nicht auf unterschiedliche Soundnormen eingehen. Genauso wenig, wie sie unterschiedliche Physik-Engines unterstützen werden.

Von daher ist schon gut, dass sich EAX eingebürgert hat. Sonst müsste man beim Spielekauf auch immer noch darauf achten, ob das Spiel auch mit der eigenen Soundkarte kompatibel ist.


Die Soundeffekte sind ja im Grunde nur veränderungen der normalen Soundfiles. Das müsste eine CPU eigentlich mit links können, wenn die Software gut ist.
Dann frag dich mal, warum es so etwas nicht gibt? Warum bietet OpenAL keine aufwendigen Softwareeffekte, sondern erlaubt nur den Zugriff auf die Soundkarten Hardware?

Aber ich glaube HighEnd Mainboards haben schon bessere Kondensatoren als die Creative Soundkarten *lach*
Das bezweifle ich aber stark. Das Hauptproblem von OnBoard-Chips sind aber auch nicht nur die Bauteile, sondern auch die langen Leiterbahnen, die sich quer über's Mainboard erstrecken und auf die andere Signale des Mainbaords übersprechen können.

Gute Soundkarten sind zur EM-Abschirmung auch in kleine Metallkisten eingepackt um nicht von außen beeinflusst zu werden. Bei einigen normalen Soundkarten befinden sich die Signalleitungen auch nur in den Schichten 2 und 3 des 4 lagigen PCBs, wobei Schicht 1 und 4 geerdet sind und so die Letungen abschirmen.

Das führt natürlich zu einem besseren Rauschabstand und Klirrfaktor. Da kommt kein OnBoard-Chip dran.



@Foofi:
Also naochmal bezüglich Vista und EAX - es läuft mit den aktuellsten Treibern!
So wie ich das verstanden habe hat MS das aus sicherheitsgründen erst kürzlich wieder entfernt. Genaueres habe ich dazu aber auch noch nicht gefunden.

Das sollte aber bald geklärt sein, da die Final-Version von Vista ja schon per MSDN erhältlich ist.



Holla die Waldfee. Das ist glaube ich neuer Rekord.