[Zurück] Inhaltsverzeichnis [Weiter]

Auf welchen Plattformen läuft SDL?

Linux
  • verwendet X11 für Video; benutzt gegebenenfalls die XFree86-DGA-Erweiterungen und MTRR-Beschleunigung für Vollbild-Darstellung
  • verwendet die OSS-API für Audio
  • Threads sind über die clone()-Systemfunktion und SysV-IPC oder über glibc-2.1-Pthreads implementiert.
Tip:
Versteckte Teile der SDL-Funktionalität sind über SDL_GetWMInfo() zu erreichen. Damit kann man Fenster-Dekorationen verstecken und das Fenster per Funktionsaufruf minimieren.
Windows
  • Es gibt zwei Versionen: eine sichere für alle 32-Bit-Windows-Systeme und eine schnellere, die DirectX verwendet.
  • Die sichere Version verwendet GDI für die Video-Darstellung. Die schnelle Version verwendet DirectDraw und profitiert von Hardware-Beschleunigung.
  • Die sichere Version verwendet die waveOut-APIs für die Audio-Wiedergabe. Die schnelle Version benutzt DirectSound.
Tip:
Man muß die SDL-Ereignis-Funktionen regelmäßig vom Hauptthread aus aufrufen, um die Ereignisse der Nachrichten-Queue verarbeiten zu lassen, damit die Anwendung zügig reagieren kann.
BeOS
  • Die Video-Ausgabe verwendet BDirectWindow.
  • Die Audio-Ausgabe verwendet die BSoundPlayer-API.
Tip:
Linux und BeOS unterstützen beim SDL_Init-Aufruf das SDL_INIT_EVENTTHREAD-Flag, das dafür sorgt, daß die Ereignis-Schleife in einem separaten Thread läuft. Das ist sinnvoll für einen Cursor, der auch dann reagiert, wenn das Programm beschäftigt ist.
MacOS, MacOS X
  • Verwendet Carbon und DrawSprockets für die Video-Ausgabe.
  • Verwendet die SoundManager-API für die Audio-Ausgabe.
  • Präemptive Thread-Unterstützung bei MacOS X.
Inoffizielle oder noch nicht fertige Portierungen
  • Solaris, IRIX, FreeBSD, QNX, OSF/True64

[Zurück] Inhaltsverzeichnis [Weiter]