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
|