SDL Wiki sagt es am besten:
SDL_SWSURFACE
SDL wird die Oberfläche im Systemspeicher erstellen. Dies verbessert die Leistung des Zugriffs auf Pixelebene, jedoch können Sie möglicherweise einige Arten von Hardware-Blitting nicht nutzen.
SDL_HWSURFACE
SDL versucht, die Oberfläche im Videospeicher zu erstellen. Dadurch kann SDL Video -> Videoblits nutzen (die oft beschleunigt werden).
Meine Gedanken:
SDL_HWSURFACE wird nicht viel schneller als SDL_SWSURFACE, und wird wahrscheinlich sowieso nicht eingeleitet werden. Wenn Sie echte Geschwindigkeit wünschen, sollten Sie SDL with openGL verwenden.
SDL_FULLSCREEN wirkt sich nicht auf die Geschwindigkeit aus, SDL versucht nur, Vollbildmodus zu verwenden.
Ich dachte sehr oft mit openGl. Aber ich finde seine Lernkurve zu steil. Sie müssen zu viel Code programmieren, um ein Bild auf den Bildschirm zu bekommen. – user1511417
U kann SDL_SWSURFACE in Ordnung auf modernen PCs mit 60 fps verwenden, wenn Sie sich bei einer Auflösung von 800x600 (oder ähnlich) beschränken und nur 2D-Grafiken erstellen. –