Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

19.11.2010, 23:11

OpenAL, XAudio2 oder FMod?

Hallo,

ich habe mich in letzter Zeit mit den verschiedenen Lösungen für Sound/Musik in Spielen auseinandergesetzt.
Nun wollte ich wissen was ihr so benutzt und vorallem warum.
Was gibt es für Vor-/Nachteile?

Für mein aktuelles Framework benutze ich FMod. Gefällt mir sehr gut, jediglich die Lizenz ist blöd :P
War halt am überlegen ob ich nicht OpenAL oder XAudio2 (DirectX) benutze.

btw. Ist XAudio2 nur auf Vista/Win7 lauffähig (gehört ja zu DX10/11)?

Danke schon mal :)

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

2

19.11.2010, 23:22

FMod ist halt keine reine Lowlevel API sondern bringt dir auch schon so Dinge wie Support für verschiedene Audioformate mit etc. Bei OpenAL und XAudio2 hast du sowas nicht, musst dir das also selbst machen (z.B. über entsprechende Libraries). XAudio2 ist im Prinzip der Ersatz für das veraltete DirectSound, läuft auf Windows ab inkl. XP aufwärts und auf der XBox. OpenAL gibts dagegen nicht nur auf Windows sondern z.B. auch auf Linux.

3

19.11.2010, 23:37

Achso also benutzt FMod OpenAL/XAudio2.
Also auf Platformunabhängigkeit achte ich nicht, da ich Direct3D für Grafik verwende.
Ich habe gelesen, dass XAudio2 keine Hardware benutzt.
Ist OpenAL dann schneller?

Und gibt es eine Library, die die gängigsten Audioformate laden kann?
Habe dazu jetzt nichts mit Google finden können.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

4

20.11.2010, 00:32

Nun FMod wird intern je nach Zielplattform entsprechende Systemapis verwenden. Welche das nun genau sind weiß ich jetzt nicht. Ich muss auch gestehen dass ich in dem Bereich auch nicht mit persönlichen Erfahrungen aufwarten kann was die verschiedenen APIs angeht (ich hab bisher nur XAudio2 wirklich benutzt). XAudio2 baut auf die WASAPI auf und setzt daher auf den neuen Software Audio Stack von Windows, das ist korrekt. OpenAL bietet dagegen, falls entsprechende Hardware vorhanden ist, die Möglichkeit bestimmte Hardwarefeatures zu nutzen. Die Frage ist nun was diese "Hardwarebeschleunigung" heute tatsächlich bringt. Afaik bedeutet das in der Realität heute dass du auf Soundkarten der Firma Creative auf EAX zugreifen kannst. Nicht mehr und nicht weniger. Inwiefern EAX heute wirklich was bringt (Software Audio muss nicht gleich bedeuten dass es langsam ist, vor allem nicht in Zeiten wo Multicore CPUs bald Standard sind und wo sowieso alles eher schneller Memorybound ist als sonstwas) und vor allem wie gut OpenAL auf Karten funktioniert die eben keine Hardwarebeschleunigung bieten (wer investiert heute wirklich in eine extratolle Soundkarte?) kann ich dir mangels Erfahrung leider nicht sagen. Ich würde, wenn du sowieso schon DirectX verwendest und nicht unbedingt irgendwelche speziellen Anforderungen von wegen high quality Soundeffekte mit extrem vielen 3D Schallquellen hast, einfach XAudio2 verwenden wenn du nicht sowieso auf FMod setzen willst. Aber vielleicht sagt ja noch jemand mit mehr Erfahrung in dem Bereich was dazu, würd mich auch interessieren. Was Libraries für gängige Soundformate angeht muss ich auch passen. Gibts sicher genug aber ich hab bisher nur direkt libvorbis/libogg verwendet und .wav Dateien selbst zu laden ist trivial, das geht auch ohne extra lib.

5

20.11.2010, 09:37

fmod is zwar plattformunabhängig, aber unter Linux zB steht nur das C Interface zur Verfügung; also nix oop. Meines Erachtens a bissal scherzlos.

Markus

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

6

20.11.2010, 11:28

Ich finde CAudio ganz angenehm. Das ist eine Kapselung von libvorbis,libogg und openAL. Recht einfach gehalten, noch nicht ganz ausgereift, aber OO und Win/Linux/Mac(?) geeignet.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

7

20.11.2010, 11:38

War bisher immer sehr gluecklich mit FMOD.
OpenAL ist auch eine sehr gute Alternative.

Black-Panther

Alter Hase

Beiträge: 1 443

Wohnort: Innsbruck

  • Private Nachricht senden

8

20.11.2010, 11:55

XACT3 wäre da auch noch eine Alternative. Im Prinzip ist das ein Layer über der XAudio2 und vereinfacht dir das Leben doch sehr. Wenn du die ganze low-level controlle nicht brauchst, dann nimm einfach das. Einziger Nachteil imo ist, dass man alle Sounds vorher mit dem Authoring-Tool zusammenstellen muss/kann. Bietet den Sounddesigner mehr Möglichkeiten, aber wenn man einfach eine wave abspielen will, nervts doch ein bisschen.

Edit: Vergessen zu erwähnen. XACT gehöhrt auch zum DirectX SDK.
stillalive studios
Drone Swarm (32.000 Dronen gleichzeitig steuern!)
facebook, twitter

9

21.11.2010, 16:25

Danke für die vielen Antworten :)
Ich habe mir jetzt viele Alternativen angeschaut (XAudio2, OpenAL, CAudio, FMod, XACT3) und bin zum
entschluss gekommen, dass ich bei FMod bleibe.
Allein wegen den eingebauten Loadern und den DSP-Effekten *_*
Die Low-Level Kontrolle von OpenAL und XAudio2 benötige ich nicht und es ist eine Menge Arbeit
Sound aus ihnen zu kitzeln :D
Da ist FMod einfacher. Bei XACT3 stört mich dieser olle Sounddesigner.

btw. Muss die Lizenz für FMod eigl. im Spiel sein oder kann sie auch einfach als *.txt mitgeliefert werden? :D

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

10

21.11.2010, 19:00

btw. Muss die Lizenz für FMod eigl. im Spiel sein oder kann sie auch einfach als *.txt mitgeliefert werden? :D

Das steht in der fmod license ;)

Werbeanzeige