Simple Direct Media Layer 2.0 ist fertig - Sie fegt alles weg!





  • Das Beste ist übrigens die neue Lizenz, zlib License.
    Damit wird die SDL 2.0 auch für viele proprietäre kommerzielle Projekte interessant, die sich zuvor gegen die früher verwendete LGPL noch wehrten.



  • Da ich grad zu faul bin selbst nachzusehen...

    Ist die API (weitestgehend) kompatibel zur alten SDL, oder haben sie da 'mal modernisiert?

    Die alte SDL war ja was Stabilität etc. angeht toll, aber was die API angeht mMn. einfach schrecklich.



  • Was würdest du persönlich als die wichtigsten Neuerungen ansehen? Wäre interessant, das aus Anwendersicht zu sehen und nicht nur auf offiziellen Feature-Listen.

    Ich hab vor Ewigkeiten mal SDL 1.2 benutzt, aber bin dann auf SFML umgestiegen. SFML war in allen Bereichen (ausser vielleicht Portabilität) massiv überlegen, besonders was API, Funktionalität und Performance betraf. Der Vorsprung könnte sich mit SDL 2.0 etwas relativieren...



  • hustbaer schrieb:

    Ist die API (weitestgehend) kompatibel zur alten SDL, oder haben sie da 'mal modernisiert?

    Die alte SDL war ja was Stabilität etc. angeht toll, aber was die API angeht mMn. einfach schrecklich.

    Die Game Controller API wurde stark modernisiert.

    Weitere Unterschiede gibt's hier:
    http://wiki.libsdl.org/moin.fcg/MigrationGuide

    @Nexus

    Ich würde sagen, der Support mehrerer Fenster und Displays in die man rendern kann ist eines der besten neuen Features, denn ohne war das schon doof und mehr als 1 Monitor sollte von einer Gaming API heutzutage schon unterstützt werden.



  • hustbaer schrieb:

    Da ich grad zu faul bin selbst nachzusehen...

    Ist die API (weitestgehend) kompatibel zur alten SDL, oder haben sie da 'mal modernisiert?

    Die alte SDL war ja was Stabilität etc. angeht toll, aber was die API angeht mMn. einfach schrecklich.

    Abwärtskompatibel ist sie nicht mehr, alter Ballast wurde rausgeschmissen:

    [qoute]
    There is no compatibility layer built in to SDL2. If an API changed for 2.0, we've changed or removed the old functions where it makes sense. If you point your 1.2 program at the 2.0 headers, it will probably fail to compile
    [/QUOTE]



  • Nexus schrieb:

    SFML war in allen Bereichen (ausser vielleicht Portabilität) massiv überlegen, besonders was API, Funktionalität und Performance betraf. Der Vorsprung könnte sich mit SDL 2.0 etwas relativieren...

    SDL 1.2 hatte noch einen Software Renderer, der im System RAM die Surfaces abgelegt hat, bei SDL 2.0 ist eine neue Rendering API dazu gekommen, die das ganze Zeugs nun im Video RAM macht, das ist natürlich wesentlich schneller.
    Die Möglichkeit gleich direkt OpenGL für die Grafikausgabe zu nehmen, die gab es allerdings schon immer.
    Insofern kann das denen egal sein, die sowieso immer gleich OpenGL genutzt haben, aber für die Anfänger, die es einfach haben wollen ohne groß erst OpenGL zu lernen ist der nun schnellere Software Renderer natürlich schon ein großer Vorteil.



  • Geil schrieb:

    ist der nun schnellere Software Renderer natürlich schon ein großer Vorteil.

    Korrektur, der neue Software Renderer ist kein reiner Software Renderer, wenn OpenGL oder DirectX Support da ist, dann nutzt er das auch.



  • Weitere nette Features sind übrigens folgende:

    1. Wechsel zwischen Fenster und Vollbildmodus möglich, ohne dabei den GL Context zu verlieren.

    2. Tastatureingabe nun per Scancode anstatt per Buchstaben.
    Letzteres hat bei unterschiedlichen Keyboard Layouts zu Problemen geführt,
    weil z.B. Backslash auf einer Deutschen Tastatur eben unter SHIFT+7 ist und nicht
    da wo eine Deutsche Tastatur einen Unterstrich setzt.
    Mit Scancodes zählt somit nur noch die gedrückte Taste an einer festen Position der Tastatur, ganz egal was für ein Keyboard Layout geladen wurde.
    Für die Eingabe von Text gibt es eine eigene Funktion, die den Text als UTF-8 konformer String zurückliefert.

    3. Das Mausrad ist kein Button mehr, sondern wird nun wirklich als Radeingabe interpretiert. Außerdem gibt einen relativen Maus Modus.



  • SFML ist trotzdem die bessere API. :p



  • SFML ist trotzdem war die bessere API.

    SFMl ist fett wie Allegro, das darf man eigentlich schon gar nicht mehr mit der SDL vergleichen, weil letztere ist sehr Low Level.



  • Tippfehler, ich meinte:

    SFML ist trotzdem war die bessere API.

    SFMl ist fett wie Allegro, das darf man eigentlich schon gar nicht mehr mit der SDL vergleichen, weil letztere ist sehr Low Level.


Anmelden zum Antworten