Введение в Simple DirectMedia Layer


На каких платформах выполняется?


Linux

  • Используется X11 в качестве дисплея, беря преимущества XFree86 DGA расширений и новое MTRR ускорение для полноэкранного режима.
  • Используется OSS API  для работы со звуком.
  • Потоки обеспечиваются использованием или системным вызовом clone()  и SysV IPC, или потоками библиотеки glibc-2.1.

Совет:

Вы можете получить часть скрытого интерфейса драйвера SDL через функцию SDL_GetWMInfo(). Это позволит вам делать вещи наподобие удаления оформления окна и задавать иконку вашего приложения.

Win32

  • Две версии, одна надежная для всех систем, основанна на Win32 API, а другая высокопроизводительная, основанна на DirectX API.
  • Надежная версия использует GDI для отображения графики. Высокопроизводительная версия использует DirectDraw для работы с видео, по возможности используя преимущества аппаратного ускорения.
  • Надежная версия использует waveOut API для воспроизведения звука. Высокопроизводительная версия использует DirectSound для воспроизведения звука.

Совет:

Вы должны периодически вызывать функции обработки событий SDL из вашего главного потока для очистки очереди сообщений Windows, позволяя приложению отзываться на системные сообщения.

BeOS

  • BDirectWindow используется для графики.
  • BSoundPlayer API используется для звука.

Совет:

Linux и BeOS поддерживают флаг SDL_INIT_EVENTTHREAD, который при передачи в SDL_Init() запрашивает запуск обработки очереди сообщений в отдельном потоке. Это полезно для окраски курсора, реагируя, таким образом, когда приложение занято.

MacOS, MacOS X

  • Carbon и DrawSprockets используется для графики.
  • SoundManager API используется для звука.
  • Преимущественно родная поддержка потоков в MacOS X

Неофициально перенесены, в процессе переноса

  • Solaris, IRIX, FreeBSD, QNX, OSF/True64

[Назад] Содержание [Далее]




Начало  Назад  



Книжный магазин