"...knihovna SDL, která je velice rychlá na 2D grafiku."
No, nevim... Patrim mezi priznivce SDL a mam pod touto knihovnou rozepsany remake jedne hodne pohyblive hry z Atari/C64. Zacal jsem psat s vyuzitim prikazu SDL knihovny pro 2D grafiku a s hruzou zjistil, ze je to nepouzitelne. SDL za to nemuze, ale 2D grafika obecne je pod X neakcelerovana. A zrejme se s tim neda nic delat (pri primem vyuziti Xlib to dokaze vylepsit vyuziti SHM).
S knihovnou ClanLib jsem se setkal jednou, kdyz jsem se snazil zprovoznit hru Pingus. Jako jedna z mala aplikaci odolala a byl jsem nucet ty pokusy vzdat.
Problem nie je v akceleraci/neakceleraci 2D grafiky pod X ale v overheade, ktory X priklada ku grafickym operaciam. Napriklad prekreslenie obsahu okna 640x480 po 20-pixelovych kuskoch na mojom 1100 MHz stroji trva nieco vyse sekundy (priamym pristupom do VIDEORAM by to trvalo pod 0.1s).
Zapomnel jsem dodat, ze uz jsem to prepsal pod OpenGL. A zpatky se vracet nehodlam. Sice 3D prilis nevyuziju, ale je to ted daleko sviznejsi a ziskal jsem nektere dalsi vyhody.
Jeste vypis z dokumentace k SDL:
If you want hardware acceleration on Linux, you can use the DGA driver (fullscreen-only, under X11) or the framebuffer console driver (fullscreen-only, under the console).
Takze pod Xkama to znamena mit povoleny DGA a to znamena jet pod rootem. Dekuji, nechci.