IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SDL Discussion :

Pourquoi la sdl ?


Sujet :

SDL

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Pourquoi la sdl ?
    Bonjour,

    Pourquoi utilisez vous la sdl alors qu'il y a une belle bibliothéque qui s'appelle sfml et qui corrige les bugs de la sdl ? quelles avantages a la sdl par rapport à la sfml ?

  2. #2
    Invité
    Invité(e)
    Par défaut
    SDL 1.2 est mature, et supporte plus de plateformes il me semble.

    A part ça, SFML a l'air bien mieux, alors que SDL 1.3 se fait attendre depuis bien trop longtemps.

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    en attendant la 1.3 de la sdl, je vais rester avec la sfml.

  4. #4
    Membre actif
    Inscrit en
    Septembre 2003
    Messages
    391
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 391
    Points : 207
    Points
    207
    Par défaut
    dernier edit : je me rends compte à la relecture de mon post qu'il peut paraitre un peu dur, ce n'est pas mon objectif. je ne change pas mon poste, mais je rajoute ici que le travaille effectué par Laurent sur SFML est tout simplement ahurissant, et merite notre respect. un grand bravo. Bravo a Laurent aussi pour son implication et le fait qu'il passe un temps dingue a repondre sur son forum à toutes les questions. SFML à un vrai devenir, il se pourrait qu'elle prenne un grande importance au niveau mondial dans les années a venir (comme ce fut le cas de SDL). Les critiques que je formule sont essentiellement dues à un projet tres jeune, qui doit prendre sa place, se structurer, s'etoffer, se diffuser, puis se stabiliser. donc voilà j'aime bien SFML (fin de l'edit)

    Citation Envoyé par rikkkki Voir le message
    Bonjour,

    Pourquoi utilisez vous la sdl alors qu'il y a une belle bibliothéque qui s'appelle sfml et qui corrige les bugs de la sdl ? quelles avantages a la sdl par rapport à la sfml ?
    je ne dirait pas qu'elle corrige les bug de la SDL, disons qu'elle apporte des fonctionalité supplémentaire (et d'autre en moins : fichier midi...)
    disons que sfml demande de coder differement (plus objet)
    perso je ne trouve pas encore tout ce que j'aime de sdl dans le codage en sfml, alors le dev donne bien des workarounds pour reproduire le comportement de SDL par SFML mais je trouve que ca fait bidouille (j'ai en memoire le fait qu'on ne pouvais pas bliter une image dans une image, je ne sais pas si on peu dans la version en cours, mais le dev avait décidé que ca n'avait pas d'interet, ca a peut être changé, mais si j'ai envie de composer des images en dehors du rendu sur la page, ca me regarde moi en tant que developpeur de l'appli).
    voilà, en puis aussi parce que je dev en 2D, alors openGL ne m'interesse pas (j'aime pas coder en openGL) alors oui je sais qu'on peu faire de la 2D avec openGL, mais bon ca reste du style "openGL" que j'aime pas.

    Sdl est stable (trop peut être), j'ai commencé un projet il y a 3 ou 4 ans, j'ai passé les quelques mises a jour SDL sans avoir a retoucher une ligne de code... je ne suis pas sur qu'on puisse faire de même avec SFML (SFML n'existait même pas quand j'ai commencé ce projet d'ailleur) encore une fois c'est normal.

    A oui, aussi, il se trouve que SDL utilise directX sous windows, pas sfml.
    voilà je reste fidele a SDL, tres stable, correct, tres bien diffusé sur les distro linux.
    Je jette quand même un coups d'oeuil, une fois par an, sur sfml pour voir où ca en est (c'est un super bon projet).

    Et j'ai oublié : il existe plein plein de module pour etendre SDL, ce que n'a pas (encore) sfml. c'est un vrai plus.
    a aussi : j'ai pas eu de mal a compiler mon appli avec CMAKE, j'ai trouvé tres facilement comment configurer CMAKE (je m'y connais peu en chaine de compilation, chacun son truc) j'ai ravi de trouver le necessaire (grace a la notorité de SDL)

    Edit : je viens d'aller voir la SFML, Laurent nous prepare une version 2.0 qui sera du tonnere ! mais (et c'est bien normal vu la jeunesse du projet) on perdra la compabilité : il faudra recoder un peu votre appli pour passer d'une 1.x à 2.0. un truc qui m'inquiete avec SFML : il semble n'y avoir qu'un seul developpeur... en terme de perenité, c'est pas top.

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2008
    Messages : 308
    Points : 622
    Points
    622
    Par défaut
    Citation Envoyé par hpfx Voir le message
    le travaille effectué par Laurent sur SFML est tout simplement ahurissant, et merite notre respect. un grand bravo. Bravo a Laurent aussi pour son implication et le fait qu'il passe un temps dingue a repondre sur son forum à toutes les questions
    +1, J'ai tout simplement l'impression que Laurent a penser a tout!

    personnellement j'avais commencer avec SDL, et ça m'avais paru assez simple et j'avais réussit assez rapidement a pondre mes premier jeux (sans grand intérêt, mis a part l'apprentissage)

    je m'était ensuite intéressé a la SFML, et là ça s'était compliqué, d'après moi, SFML demande une plus grande organisation, plus de technique, ainsi qu'un code très structuré pour être utilisé.

    ça vient peut être de moi, mes exigences ont surement changés au court du temps ( et encore heureux, quand je vois mes premiers bouts de code... ), mais peut être aussi du fait que ce soit de l'objet.

    Une fois que cette structure est mise en place pour la SFML, c'est simplement magique, l'outil est tellement puissant... chaque problème a une solution presque évidente, en cas de problème Laurent est toujours prêt a aider sur son forum, il n'y a pas besoin d'ajouter n librairies supplémentaires, les rotations zoom ect... sont gérés. Sans parler des gros plus, l'accélération matériel, les shaders!! ect... Et je suis loin d'avoir fait le tout de toutes les fonctionnalités.

    Bref, SFML vaux vraiment le coup de s'y intéressé, je l'ai adopté!

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    et avec l'opengl, vu que les 2 ( sdl et sfml ) utilisent l'accélération matérielle, laquellle vaudrait-il mieux choisir ?

  7. #7
    Membre émérite Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    Mars 2009
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 076
    Points : 2 328
    Points
    2 328
    Par défaut
    Une chose a ajouter

    SFLM, c'est que en C++
    Pour le C, il y a cSFLM, mais j'ai eu des retour extremement négatif (doc & tuto completement absent, "ridicule" selon certain, bug omnipresent).

    Bref, un tres gros avantage de SFLM par rapport a la SDL, c'est que SFLM utilise l'acceleration materiel, donc est plus rapide.

    La SFLM inclu aussi nativement des fonction tel que le zoom, rotation, pour la SDL, faut regarder a coté (SGE, rotozoom).

    Bref, en C++, la SFLM ecrase largement la SDL, en C, ca reste a demontrer.
    D'autant plus que si on s'y debrouille bien, on peut faire des jeux SDL fluide est pas forcement degueu.

  8. #8
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par rikkkki Voir le message
    et avec l'opengl, vu que les 2 ( sdl et sfml ) utilisent l'accélération matérielle, laquellle vaudrait-il mieux choisir ?
    Si tu utilises OpenGL directement à mon avis c'est pareil.

  9. #9
    Membre éclairé Avatar de AuraHxC
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 652
    Points : 683
    Points
    683
    Par défaut
    Personnellement, j'avoue que je n'ai jamais utilisé la SDL par contre SFML, il m'est arrivé de l'utiliser lorsque je n'avais pas envie d'utiliser Qt et j'avoue que c'est effectivement une API vraiment bien foutu.

    En ce qui concerne le choix entre SDL et SFML quand on fait de l'OpenGL, je dirais SFML mais juste parce que j'ai un coup de cœur pour cette API et que je ne connais pas réellement SDL mais je pense que les deux doivent avoir leurs points forts et leurs points faibles donc le choix se fera plus au feeling finalement.

  10. #10
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2008
    Messages : 308
    Points : 622
    Points
    622
    Par défaut
    SFML offre aussi la possibilité d'avoir plusieurs fenêtre simultanément ( et ça a l'air assez facile a gérer en plus ), il me semble que c'est impossible avec SDL

  11. #11
    Membre actif
    Inscrit en
    Septembre 2003
    Messages
    391
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 391
    Points : 207
    Points
    207
    Par défaut
    Citation Envoyé par SofEvans Voir le message
    Bref, un tres gros avantage de SFLM par rapport a la SDL, c'est que SFLM utilise l'acceleration materiel, donc est plus rapide.
    ou pas...
    car SDL utilise aussi l'accelleration materielle, et n'est pas limité a opengl, car pour les plateforme win32, il y a directX aussi. donc en terme de possibilité, c'est SDL qui offre le choix le plus complet.
    Citation Envoyé par SofEvans Voir le message
    La SFLM inclu aussi nativement des fonction tel que le zoom, rotation, pour la SDL, faut regarder a coté (SGE, rotozoom).
    Ben justement !
    je ne veux pas voir la bibliotheque principale avec du rotozoom...
    il se trouve que SDL utilise une infrastructure modulaire, c'est un de ses avantages, personne n'utilise 100% des features, alors pourquoi alourdir ?
    pensez a firefox : il y a des plugins, ainsi vous pouvez piocher dans les multiples extension pour ne charger que ce qui vous interesse.. ben la c'est pareil. si j'ai pas besoin de police ttf, ni de rotozoom, ben je prends pas.

    ensuite vous pouvez me dire que le rotozoom de SFML est implementé de maniere plus intelligente ou plus optimisée, c'est sans doute vrai. mais c'est un autre debat.
    mais l'argument de la bibliotheque foure-tout, ou plein de fonctions sont natives tout ca juste pour ne pas distribuer 3 ou 4 dll, franchement... de toute maniere il faut bien en distribuer au moins une, alors pourquoi pas 3 ou 4 je ne vois pas ce que celà change ?


    Citation Envoyé par SofEvans Voir le message
    Bref, en C++, la SFLM ecrase largement la SDL, en C ...
    SDL : qu'on l'utilise dans un soft dev en C ou en C++ je ne vois pas ce que celà change en perf.
    soyons précit, une bibliotheque fait pour du C++ (comme la SFML) offre des agrements au developpeur (espace de noms...) donc le seul temps qu'on est sûr de gagner c'est du temps de développement, rien a voir avec le temps d'execution (qui lui dependra peut être plus du compilo par exemple)
    Donc si (j'en sais rien) SFML est plus rapide que SDL (même machine en utilisant le même driver : opengl par exemple) et bien c'est pas parceque l'un est en C et l'autre en C++, mais peut être parceque l'implementation de telle fonction est plus intelligente et/ou avec le bon compilo et les bonnes options.

    Citation Envoyé par SofEvans Voir le message
    ca reste a demontrer.
    oui tout reste a demontrer.
    Et pas avec des tests tout moisis ou tu a une appli SDL qui tourne en GDI non optimisé contre une appli SFML openGL...

    Citation Envoyé par SofEvans Voir le message
    D'autant plus que si on s'y debrouille bien, on peut faire des jeux SDL fluide est pas forcement degueu.
    bien sur, ce qui prouve que la lib n'est pas tout, la maniere de coder l'appli compte aussi.

  12. #12
    Membre actif
    Inscrit en
    Septembre 2003
    Messages
    391
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 391
    Points : 207
    Points
    207
    Par défaut
    Citation Envoyé par bebaijhi Voir le message
    SFML offre aussi la possibilité d'avoir plusieurs fenêtre simultanément ( et ça a l'air assez facile a gérer en plus ), il me semble que c'est impossible avec SDL
    oui ça c'est vrai, c'est un vrai plus de SFML. (que je n'utilise pas dans un jeu)

  13. #13
    Membre actif
    Inscrit en
    Septembre 2003
    Messages
    391
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 391
    Points : 207
    Points
    207
    Par défaut
    Bon, puisque la question de la performance est abordée...
    Je ne sais pas si beaucoups d'entre vous ont faits des tests (de maniere serieuse), mais je penses qu'il y a des choses qu'un débutant doit absolument savoir avant de choisir SDL ou SFML, et ne pas s'en ternir à des propos tout fait "sfml écrase sdl", c'est plus complexe que celà.

    GENERALITE

    Avant de parler performance, je rappelle que SDL est plus vieu que SFML, qu'il y a moins de fonctions implementées, mais que SFML est un peu plus instable (au niveau de l'API, pas de l'execution), mais que SDL permet d'ajouter des sorte de plugins (et il y en a plein, et de qualité diverses)

    PERFORMANCE

    il faut ensuite cibler la plateforme d'execution, il y a ceux qui veulent faire un jeu windows et ceux qui veulent faire un jeu multiplateforme.

    * multiplateforme : question performance la question ne se pose pas : un seul choix, OpenGL. SFML comme SDL sont compatible.

    * win32-only : Là c'est soit DirectX soit OpenGL. ensuite je ne sais pas ce qu'il y a de mieux... il faut reconnaitre que microsoft a bouffé le marché win32 avec son directX, ça ne doit donc pas être une bouse...
    Jusqu'a preuve du contraire, seul SDL est compatible DirectX, même en 2D, il suffit de mettre une ligne pour que toute votre appli tourne sous directx :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SDL_putenv("SDL_VIDEODRIVER=directx");
    DISTRIBUTION

    Maintenant la question qu'il faut se poser c'est : comment distribuer votre jeu ?
    * windows : un zip ou un setup, aucune difficultée. pour sdl ou sfml.
    * linux : soit en source (à compiler : config, make, make install) soit en package, mais dans tous les cas sous serez confronté à l'epineuse question des dépendances! Et le probleme (et je le deplore) c'est que pour trouver les packages sfml dans les distro c'est pas facile. Même si vous faites le necessaire pour faire compiler sfml en même temps que votre appli, il y a les dépendances de sfml (la lib qui affiche les images, qui gere les fonts...) et bien bon courage...
    sous linux, le choix de la maturité n'est pas incoherent... et être bleeding-edge c'est un luxe qui necessite des competence et du temps.

    Je suis pragmatique : le jour ou le deployement sera facilité (package sfml dans les majeurs distro) je serai super ravi mais en attendant, égoistement j'utilise ce qu'il se deploie de maniere simple ! (car on trouve les package sdl dans toutes les distro).
    Oui c'est un peu egoiste : je laisse les autres s'occuper des packages, et j'attends qu'ils soient bien déployé (compter quelques années, pensez a debian)...

    voilà ce à quoi il faut penser quand on choisit une lib

  14. #14
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Je me permets de répondre sur certains points, car d'après moi il y a quelques raccourcis dangereux qui commencent à être pris

    car SDL utilise aussi l'accelleration materielle, et n'est pas limité a opengl, car pour les plateforme win32, il y a directX aussi. donc en terme de possibilité, c'est SDL qui offre le choix le plus complet.
    SDL n'utilise pas l'accélération matérielle. Et quand elle donne l'illusion de le faire, ce n'est pas ce que tu crois.
    En ce qui concerne DirectX, attention à ne pas tout amalgammer. SDL utilise DirectDraw, qui est une technologie préhistorique et plus supportée depuis longtemps par Microsoft, à ne surtout pas comparer à Direct3D et OpenGL.

    * win32-only : Là c'est soit DirectX soit OpenGL. ensuite je ne sais pas ce qu'il y a de mieux... il faut reconnaitre que microsoft a bouffé le marché win32 avec son directX, ça ne doit donc pas être une bouse...
    Jusqu'a preuve du contraire, seul SDL est compatible DirectX, même en 2D, il suffit de mettre une ligne pour que toute votre appli tourne sous directx :
    Pour faire de la 2D, OpenGL et Direct3D sont tous deux largement suffisant, ce n'est pas un critère de choix. La différence sera fera plutôt sur les toutes dernières techniques à la mode, que telle ou telle API implémentera mieux ou pas. Mais pour dessiner des carrés, y a franchement aucune différence.

    * multiplateforme : question performance la question ne se pose pas : un seul choix, OpenGL. SFML comme SDL sont compatible.
    Là on parle alors d'OpenGL, plus de SFML ni SDL.
    SFML vise justement à avoir le même genre de performances qu'OpenGL, mais sans que l'utilisateur n'ait à toucher à OpenGL.

    * linux : soit en source (à compiler : config, make, make install) soit en package, mais dans tous les cas sous serez confronté à l'epineuse question des dépendances!
    On peut aussi faire un package "self-contained" avec ses dépendances, ce n'est pas un problème sous Linux.

    Ben justement !
    je ne veux pas voir la bibliotheque principale avec du rotozoom...
    Effectuer des transformations sur une forme que l'on affiche, ça ne me paraît pas être du superflu à mettre dans un plugin. Ca fait partie des fonctionnalités de base, je ne vois pas du tout pourquoi il faudrait le mettre à part.
    A mon avis ton opinion est déjà un peu trop biaisée par ton expérience de SDL

    il se trouve que SDL utilise une infrastructure modulaire, c'est un de ses avantages
    Techniquement SDL ne fait rien de spécial, elle n'a pas une infrastructure modulaire. C'est simplement que c'est du bas niveau, et donc que tout le monde peut écrire du code par dessus pour ajouter des fonctionnalités.
    Rien n'empêche de faire la même chose avec SFML, d'ailleurs certaines personnes l'ont déjà fait.

    mais l'argument de la bibliotheque foure-tout, ou plein de fonctions sont natives tout ca juste pour ne pas distribuer 3 ou 4 dll, franchement... de toute maniere il faut bien en distribuer au moins une, alors pourquoi pas 3 ou 4 je ne vois pas ce que celà change ?
    Je suis d'accord avec toi sur le point des DLLs, mais ce n'est pas l'argument principal. Le gros hic avec SDL et ses add-on, c'est que rien n'est unifié, que ce soit au niveau de la qualité, des conventions de codage, des APIs, de la documentation, sites web, support, etc. Tout est disséminé dans la nature et implémenté sans cohérence, puisque chaque projet est totalement indépendant.
    Et SFML n'est pas fourre-tout, bien au contraire : son API reste ultra-légère, et crois moi que je me bats suffisamment avec les utilisateurs pour que ça le reste (tu n'imagines pas le nombre de demandes que je rejette tous les jours).

  15. #15
    Membre actif
    Inscrit en
    Septembre 2003
    Messages
    391
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 391
    Points : 207
    Points
    207
    Par défaut
    Merci pour ton intervention,
    Citation Envoyé par Laurent Gomila Voir le message
    A mon avis ton opinion est déjà un peu trop biaisée par ton expérience de SDL
    C'est sur.
    Je ne suis qu'un peu (de temps en temps) sfml, j'étais là au depart (j'ai posé quelques questions) mais j'attends la maturité.

    Citation Envoyé par Laurent Gomila Voir le message
    SDL n'utilise pas l'accélération matérielle. Et quand elle donne l'illusion de le faire, ce n'est pas ce que tu crois.
    mea culpa, tu m'apprends qqchose, je pensai que directdraw (qui était une partie de directx) était la couche qui permetait l'accelleration materielle (enfin si le driver du constructeur le permetait)

    Ensuite directdraw est vieux ("préhistorique " ouais), mais on a un probleme similaire avec openGL assez mal implementé dans les cartes gfx (ou du moins si mais une version assez vieille... j'avais entendu dire que les constructeur n'était pas pressé d'implementer les dernieres version)
    mais comme tu l'as dit, pour afficher des carrés, il n'y a pas de difference.


    Citation Envoyé par Laurent Gomila Voir le message
    SFML vise justement à avoir le même genre de performances qu'OpenGL, mais sans que l'utilisateur n'ait à toucher à OpenGL.
    intention trés louable. j'ai toujours été rebutté par l'aspect codage openGL.

    Citation Envoyé par Laurent Gomila Voir le message
    On peut aussi faire un package "self-contained" avec ses dépendances, ce n'est pas un problème sous Linux.
    Ouais ?... bon moi perso je vais quand même attendre que les packages kivonbien arrivent dans les dépots.

    Citation Envoyé par Laurent Gomila Voir le message
    Techniquement SDL ne fait rien de spécial, elle n'a pas une infrastructure modulaire. C'est simplement que c'est du bas niveau, et donc que tout le monde peut écrire du code par dessus pour ajouter des fonctionnalités.
    ...
    Le gros hic avec SDL et ses add-on, c'est que rien n'est unifié, que ce soit au niveau de la qualité, des conventions de codage, des APIs, de la documentation, sites web, support, etc.
    Je suis d'accord, je l'ai dis il y a de tout (toute sorte de qualité)

    Bon moi perso le ttf et le rotozoom j'utilise pas (mais je comprends que ca depanne bien si c'est built-in)


    Citation Envoyé par Laurent Gomila Voir le message
    Et SFML n'est pas fourre-tout
    je ne voulais pas le dire dans le sens "bordel", mais dans le sens "plein de feature".

    Citation Envoyé par Laurent Gomila Voir le message
    tu n'imagines pas le nombre de demandes que je rejette tous les jours.
    la rançon du succes

    Encore une fois, le seul reproche que je fait à SFML, ce n'est pas l'implication et la motivation qui tu y apporte, c'est juste la jeunesse du projet. Il est probable que je passe à SFML dans quelques temps.

    Et je me bat contre l'idée que "par définition" sfml explose sdl en performance.
    ensuite en performance de codage, j'en doute pas (documentation etc).

    Merci, bonne continuation.

  16. #16
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 579
    Points
    218 579
    Billets dans le blog
    120
    Par défaut
    Bonjour a tous,

    Dernièrement, j'ai commencé un nouveau projet ( http://www.developpez.net/forums/d96...nce-wars-like/ ), de jeu en 2D. Du coup j'ai été confronté au choix entre SDL et SFML. Et au dernier moment, j'ai choisi SDL ( la prochaine fois ce sera SFML )
    Je pense avoir une bonne raison pour avoir choisi la SDL, malgré qu'au tout début je n'étais pas du tout partant pour cela.
    Effectivement, mon projet vise aussi des plateformes "ésotériques" tel que la GP2X et AmigaOS, qui, jusqu'à preuve du contraire, ne sont pas supportés pour la SFML.
    Après, comme vous avez parlé de l'impact en terme de performance, il faut savoir ( et cela a été dit ) que la SDL n'a aucune accélération matérielle. Le direct draw n'est que la bibliothèque qui se cache derrière la SDL pour afficher les carrés ...
    Du coup, comme je l'ai expliqué sur mon post, pour être sur de ne pas perdre en terme de performance, je vais avoir une partie du code en OpenGL ( cela ne me gêne pas trop, je connais :p ) afin d'être sur que cela soit pris par une puce accélératrice ( même si dans la théorie, pour un jeu comme le mieux, il se peut que je n'en ai pas besoin )

    Après, pour conclure mon message, je conseillerai d'utiliser la SFML au lieu de la SDL, simplement parce que tout est mieux dans la SFML ( argument très débile, mais vous trouverez le pourquoi plus haut ). Les seuls cas ou l'on ne peut pas, c'est mon cas de plateforme dites "àlacon", ou que vous ne connaissez pas le C++ .
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  17. #17
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    mea culpa, tu m'apprends qqchose, je pensai que directdraw (qui était une partie de directx) était la couche qui permetait l'accelleration materielle (enfin si le driver du constructeur le permetait)
    Elle permet un certain niveau d'accélération matérielle, mais uniquement pour les transferts de pixels. C'est assez vieux comme concept.
    On est très loin de ce qu'on appelle "accélération matérielle" aujourd'hui, à savoir utiliser des textures et des primitives, et laisser le GPU transformer et rasterizer le tout.

    Ouais ?... bon moi perso je vais quand même attendre que les packages kivonbien arrivent dans les dépots.
    A priori il suffit de faire en sorte que l'applicatoin se lance via un script qui ajoute "." à la variable d'environnement LD_LIBRARY_PATH, et les bibliothèques qui se trouvent à côté de l'exécutable seront automatiquement trouvées lors de son exécution.
    J'ai aussi vu récemment qu'on pouvait directement inclure à un binaire un chemin de recherche pour ses dépendances (rpath). J'ai pas trop creusé la question ceci-dit.

    Et je me bat contre l'idée que "par définition" sfml explose sdl en performance
    Bien entendu
    Par contre on peut constater que la version 1.2 de SDL a atteint une limite technique et qu'elle ne pourra pas faire mieux avant la sortie de la version 1.3.
    SFML étant plus jeune, elle a pu partir sur des bases techniques optimales et ne traîne pas de vieilles technologies.

  18. #18
    Membre émérite Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    Mars 2009
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 076
    Points : 2 328
    Points
    2 328
    Par défaut
    Beaucoup de réponse depuis la derniere fois.

    @hpfx : J'ai vu des brenshmark fait par laurent gomila et d'autre ou l'on comparer la SDL (sans openGL) et la SFLML (sans openGL)

    Le seul reproche, c'est que je crois qu'on utiliser pas SDL_DisplayFormat ce qui biaisé les resultat de facon totalement anormal.
    On avait donc SFLM 12000% de fois plus rapide que SDL sur le blittage. Je n'y ai accordé aucun credit.
    Par contre, pour les rotation, j'ai bien regarder le code et je dois dire que SFLM est vraiment mieux que SDL.

    Bref.

    @Laurent Gomila

    Je n'ai pas suivi vraiment le developpement de cSFLM, mais qu'en est-il ?
    est ce vous qui l'avez developpé ? Avez vous des retours ? Ces retours sont'il positif ou negatif ?

    J'aimerai avoir une reponse de source sûr, j'aime pas accorder trop de credit au ragot.

  19. #19
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Le seul reproche, c'est que je crois qu'on utiliser pas SDL_DisplayFormat ce qui biaisé les resultat de facon totalement anormal.
    On avait donc SFLM 12000% de fois plus rapide que SDL sur le blittage. Je n'y ai accordé aucun credit.
    Par contre, pour les rotation, j'ai bien regarder le code et je dois dire que SFLM est vraiment mieux que SDL.
    Ca a été corrigé depuis longtemps, du moins dans le benchmark que j'avais fourni.
    En ce qui concerne les rotations, comme toute autre transformation il est normal qu'il n'y ait aucune comparaison possible : avec SDL c'est fait pixel par pixel "à la main" alors qu'avec SFML c'est le GPU qui s'en occupe, c'est donc quasiment gratuit.

    Je n'ai pas suivi vraiment le developpement de cSFLM, mais qu'en est-il ?
    est ce vous qui l'avez developpé ? Avez vous des retours ? Ces retours sont'il positif ou negatif ?
    CSFML ? Le binding C ? Personnellement je ne le maintiens que dans le but de créer d'autres bindings par dessus, donc je n'ai pas grand chose à en dire, c'est uniquement une version C de l'API C++.

Discussions similaires

  1. [Templates] Quel système utilisez-vous ? Pourquoi ?
    Par narmataru dans le forum Bibliothèques et frameworks
    Réponses: 270
    Dernier message: 26/03/2011, 00h15
  2. Que choisir ? C# , VB.NET, C++, Delphi ? pourquoi ?
    Par Louis-Guillaume Morand dans le forum Général Dotnet
    Réponses: 475
    Dernier message: 08/04/2010, 19h27
  3. Programmer encore en VB 6 c'est pas bien ? Pourquoi ?
    Par Nektanebos dans le forum Débats sur le développement - Le Best Of
    Réponses: 85
    Dernier message: 10/03/2009, 14h43
  4. Pourquoi ces directives #ifndef ... en haut des .h
    Par Patrick PETIT dans le forum C
    Réponses: 8
    Dernier message: 06/03/2003, 23h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo