im Bereich plattformunabhängiger 2D-Frameworks bin ich sowohl auf SDL als auch SFML gestoßen. Doch worin unterscheiden sich beide? SDL scheint prozedural aufgebaut, SFML setzt auf eine umfangreiche Klassenstruktur. Beim googeln habe ich Hinweise gefunden, man solle wenn möglich SFML verwenden. Gibt es Performancevergleiche zwischen SDL- und SFML-basierten Anwendungen?
Ich versuche eine möglichst "schnelles" Game-Framework (für etwas in Richtung Diablo 2 oder auch Command & Conquer Tiberian Sun) zu erstellen. Dabei bin ich inzwischen bei C++ angelangt und habe bisher mit SDL ganz gute Erfolge erzielt. Allerdings bietet SFML mehr Funktionalität - die ich sonst mit SDL selber nachbilden müsste (z.B. im Bezug auf die Netzwerkkommunikation via TCP bzw. UDP). Nun will ich aber nicht SDL und SFML mischen, nur weil die Netzwerkkommunikation mit letzterem bequemer geht. Andererseits will ich nicht unbedingt das Rendern der Entities und Tiles nochmal mit SFML schreiben, nur um zu testen, ob SFML in Sachen Geschwindigkeit auf dem gleichen Niveau arbeitet.
Soweit ich das Überblicke erzeugt die Verwendung von Klassen (wie bei SFML) mehr Overhead als ein rein prozeduraler Stil (wie bei SDL). Zwar verwende ich selber auch Klassen, nur frage ich mich, ob ich mit einem prozeduralen Unterbau (mit SDL) da Geschwindigkeit gewinnen kann. Sicherlich ist der Geschwindigkeitsunterschied zwischen SDL und SFML auf modernen Rechnern irrelevant. Allerdings arbeite ich selber fast nur an einem Netbook und will daher auf möglichst performantem Unterbau aufbauen.
LG Glocke
/EDIT: ich merk gerade, das wäre im SDL-Unterforum besser aufgehoben


/EDIT2: danke fürs verschieben
