spacegaier
DirectDraw ist das worauf die SDL für die 2D-Grafikausgabe zurückgreift. DirectDraw gehört zum DirectX-SDK und ist eine Schnittstelle für den Programmierer um 2D Grafiken effektiv und effizient mit der Grafikkarte ausgeben zu können. Ist also eine ebene Höher als SDL.
DirectDraw läuft nur unter Windows-Rechnern und ist aktuell in der Version 7 vorhanden, wird jedoch nicht mehr weiterentwickelt, da die Zielsetzung mehr auf 3D geht (Direct3D). Ist aber noch immer eine der gefragtesten Schnittstellen für 2D Ausgaben, Videoausgabe, Raytracer und Raycastern. Dazu bietet es im Gegensatz zu SDL einen höheren Umgang mit Surfaces, womit sich schneller diverse Effekte erzielen lassen.
Was gegen SDL spricht? Na ja, ich kann mich damit nicht abfinden, eine ZusatzLib für so etwas "einfaches", dazu an diversen Stellen nicht nur schön einfach, sondern auch schön konfus und schön umständlich. Dazu lernst Du nur die Benutzung aber nicht wie es "von Hand" geht, also was da im Hintergrund passiert und vorallem: WIE DAS GEHT!
Dazu bist Du an einer (von mir ausgesehen eine totale Verarsche-) Lizenz gebunden. Dazu ist SDL in vielen Gegenden etwas "verpöhnt" da es zeigt, dass der Coder zu Faul war selbst zu programmieren. Dadurch wird er oft als Idiot abgestempelt.
SDL hat meines erachtens den einzigen Vorteil, dass es Platformübergreifend ist. Aber sowas ist kein Argument, denn wenn jemand sagt das SDL super ist, nur weil es auf allen Platformen läuft, der kann auch sagen Anal*** ist geil, weil es auf jedem Geschlecht funktioniert
Kurzerhand gesagt: Wenn Du für Windows codest, solltest Du eher DirectDraw lernen oder Direct3D (später aber nachdem Du COM verstanden hast!) und Deine eigenen Wege gehen und nicht die Wege von Fremden mitbenutzen. Denn die können manchmal auch in eine absolute Sackgasse führen wo man sich dann richtig derbe Aufregen kann, wie blöde man doch ist, das man diesen Weg beschritten hat
Ein kleines DirectDraw-Tutorial findest Du auf meiner Seite im Bereich Tutorials --> FunnyBreak.
Ich empfehle Dir aber wenn Du es machst, überspringe keine Tutorials! Dort sind absichtlich leichte Bugs eingebaut worden die der Leser beseitigen soll um das Prinzip, den Compiler, Debugger usw. besser zu verstehen.