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

SFML Discussion :

SFML - Bibliothèque multimédia multiplateforme open-source


Sujet :

SFML

  1. #101
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 16
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par Laurent Gomila Voir le message
    Super ! Je vais regarder ça.
    Par contre je t'invite à me contacter par mail pourqu'on puisse en discuter tranquillement.
    ok c'est fait

    Citation Envoyé par Laurent Gomila Voir le message
    Concernant ta remarque, la raison est très simple : si le chargement s'effectue dans le constructeur, il n'y a aucun moyen de tester le succès de celui-ci excepté en utilisant les exceptions, chose que je ne souhaite pas faire.
    Allez, ce n'est qu'une ligne de plus à écrire, c'est pas la mort
    Ah ouaip j'y avais pas pensé.. Bon ben ok, ça fera une ligne de plus

    Comme je l'ai dit dans le mail, faudrait faire un SVN, parce que j'ai déjà repéré et corrigé qq bugs depuis que j'ai posté le zip (j'essaye pas tous les trucs que j'implémente, donc forcément ya des risques de bugs)

  2. #102
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    Une question.

    C'est pour des raison de performances que tu as voulu ne mettre aucune exception ?
    Je ne répondrai à aucune question technique en privé

  3. #103
    Membre confirmé
    Avatar de gusgus
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    500
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 500
    Points : 641
    Points
    641
    Par défaut
    Elle a l'aire super bien ta librairie laurent!!!!Quand on voit les performances de la SDL comparées avec celles de la SFML^^

    Désolé d'être completement en retard mais j'etait en vacances...

  4. #104
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Points : 4 732
    Points
    4 732
    Par défaut
    Citation Envoyé par millie Voir le message
    Une question.

    C'est pour des raison de performances que tu as voulu ne mettre aucune exception ?
    J'ai lu sur le forum du site de la SFML que pour Laurent aucune erreur n'est fatale.
    D'ou le besoin de n'avoir aucun exeptions.

    (Corriger moi si je me plante )
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une très bonne doc sur le C++ (en) Why linux is better (fr)

  5. #105
    Futur Membre du Club
    Inscrit en
    Avril 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    g++ -o ../bin/opengl OpenGL.o -lsfml-graphics -lsfml-window -lsfml-system -lGLU -lGL
    /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libsfml-graphics.so: référence indéfinie vers « __stack_chk_fail@GLIBC_2.4 »
    collect2: ld returned 1 exit status

    Bonjour !
    J'ai pourtant compilé SFML avec succès...
    Pourriez vous m'aider ? Merci d'avance !

  6. #106
    LLB
    LLB est déconnecté
    Membre expérimenté
    Inscrit en
    Mars 2002
    Messages
    967
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 967
    Points : 1 410
    Points
    1 410
    Par défaut
    Citation Envoyé par Laurent Gomila Voir le message
    Concernant ta remarque, la raison est très simple : si le chargement s'effectue dans le constructeur, il n'y a aucun moyen de tester le succès de celui-ci excepté en utilisant les exceptions, chose que je ne souhaite pas faire.
    Allez, ce n'est qu'une ligne de plus à écrire, c'est pas la mort
    Euh, non. S'il n'y a pas d'exception, il faut tester le code de retour à chaque appel et gérer l'erreur. Ca prend plus d'une ligne.

    Je suis curieux aussi de savoir pourquoi tu refuses les exceptions (ok, il ne faut pas en abuser... mais là ?). Ca me semble plutôt adapté ici (même si je n'ai pas encore regardé SFML).

    C'est pour des raison de performances que tu as voulu ne mettre aucune exception ?
    Ce serait surprenant. Tu t'attends à avoir des erreurs en boucle, pour que les performances entrent en compte ? Une erreur dans le chargement devrait être un cas assez rare.

  7. #107
    Membre confirmé
    Avatar de Mindiell
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    735
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 735
    Points : 546
    Points
    546
    Par défaut
    Je dois avouer que j'ai la même question. Je suis obligé de faire ca pour éviter de garder l'image dans le main :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        //Chargement des images
        {
            sfImage image;
            image.LoadFromFile("datas/screen_1.gif");
            images.push_back(image);
            image.LoadFromFile("datas/carac_2.gif");
            images.push_back(image);
            image.LoadFromFile("datas/treasure_cursor.gif");
            images.push_back(image);
        }
    Cela me permet d'utiliser un vecteur d'images pour ensuite créer mes objets contenant un sprite.
    Mindiell
    "Souvent, femme barrit" - Elephant man

  8. #108
    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
    C'est simple, une exception symbolise une erreur fatale, or j'ai fait le choix dans SFML de gérer à la base les erreurs fatales de sorte que celles-ci n'empêchent pas le programme de fonctionner. En clair, si aucune vérification d'erreur n'est faite le programme pourra tourner, simplement vous aurez des sprites blancs, du texte formé de petits carrés, etc...

  9. #109
    Futur Membre du Club
    Inscrit en
    Août 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 17
    Points : 8
    Points
    8
    Par défaut
    Hello !

    Je me demandais : serait-il possible de mettre en place un système permettant aux gens d'ajouter leur projet sur le site de la SFML, sur le même principe que celui de la SDL ? Ca permettrait aux gens de se rendre vraiment compte de ses capacités.

    Dans les forums, je n'ai vu que 2 ou 3 projets réalisés avec la SFML. Visiblement, ce n'est que le début .

    Disons que dans 6 mois, je démarrerai le mien, je n'oublierai pas de poster dans le forum . Mais une petite interface ou l'on puisse ajouter son propre projet, serait un réel plus sur le site web .

  10. #110
    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
    L'interface pour ajouter son propre projet, c'est le forum. Lorsqu'il y aura suffisamment de projets intéressants et aboutis, je créerai la page qui va bien pour mettre sur le site.

    Et puis inutile de s'affoler, la bibliothèque est encore beaucoup trop jeune pour qu'il y ait des projets suffisamment aboutis, j'ai encore le temps

  11. #111
    Membre averti Avatar de zabibof
    Inscrit en
    Février 2007
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 188
    Points : 344
    Points
    344
    Par défaut
    Ca c'est malin môssieu Gomila, maintenant, il va falloir chercher des raisons pour utiliser SDL.

    Plaisanterie.

    Je n'ai pas encore eu l'occasion de tester cette bibliothèque car je suis (très) occupé ailleurs, mais vu les commentaires précédents, Applause

  12. #112
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 100
    Points : 150
    Points
    150
    Par défaut
    Citation Envoyé par Kreeg Voir le message
    g++ -o ../bin/opengl OpenGL.o -lsfml-graphics -lsfml-window -lsfml-system -lGLU -lGL
    /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libsfml-graphics.so: référence indéfinie vers « __stack_chk_fail@GLIBC_2.4 »
    collect2: ld returned 1 exit status

    Bonjour !
    J'ai pourtant compilé SFML avec succès...
    Pourriez vous m'aider ? Merci d'avance !
    Bonjour...
    As tu bien installé ta version de SFML dans /usr/ ou /usr/local ?
    Il me semble qu'il existe des .so tout fait dans le SDK linux, et peut etre qu'ils sont compilé ace glibc-2.4 (sachant qu'on est plutot en glibc-2.6 si je ne me trompe pas)

    Donc je pense que ta compilation n'a pas vraiment fonctionnée et tu as utilisé les mauvais .so.
    Ou alors tu as bien recompilé, seulement les .so qui sont dans /usr/lib/ ou /usr/local/lib/ sont les précompilés.

    Apres je me trompe peut etre ^^

  13. #113
    Membre régulier Avatar de smatador
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 57
    Points : 78
    Points
    78
    Par défaut Bench SDL vs SFML
    Je viens de réaliser le bench (Ubuntu 7.04, Core2Duo T5500, 2Go Ram, GeForce 7600 Go), voici les résultats :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    1/ Test : sprites
    SDL  displayed 6 frames
    SFML displayed 177 frames
    --> SFML is 2950% faster than SDL
     
    2/ Test : alpha-blended sprites
    SDL  displayed 3 frames
    SFML displayed 126 frames
    --> SFML is 4200% faster than SDL
     
    3/ Test : rotating sprites
    SDL  displayed 2 frames
    SFML displayed 158 frames
    --> SFML is 7900% faster than SDL
     
    4/ Test : static text
    SDL  displayed 800 frames
    SFML displayed 5025 frames
    --> SFML is 628% faster than SDL
     
    5/ Test : dynamic text
    SDL  displayed 734 frames
    SFML displayed 945 frames
    --> SFML is 128% faster than SDL
    Par contre il faudrait mettre à jour les sources du bench car le constructeur de RenderWindow n'est plus :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sf::RenderWindow App(sf::VideoMode(800, 600), "SFML_App", false);
    mais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sf::RenderWindow App(sf::VideoMode(800, 600), "SFML_App", sf::Window::Fixed, 0);
    Une erreur que l'on retrouve d'ailleurs sur l'exemple présent sur la page principale de la documentation.

  14. #114
    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
    Bonjour,
    j'utilise la SDL avec bonheur, et maintenant que j'ai un projet assez consequent, je me demande comment il faudrait que je fasse pour passer a SFML...

    vu la popularité de SDL, est-ce qu'on ne pourrait pas prevoir une sorte de "wraper" entre les deux ?
    C'est un peu utopiste, mais je pose quand même la question, ca permettrait de switcher sous cette nouvelle lib sans trop modifier de chose.
    bien sur la couverture de ce wraper ne serait pas complete, mais si ca couvre une partie des fonction de la SDL ca peut deja rendre un fier service,

    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Uint32 SDL_GetTicks()
    {
    return (Uint32)(sf::Clock.GetElapsedTime()*1000.0f); 
    }

  15. #115
    screetch
    Invité(e)
    Par défaut
    je n'ai pas compris en quoi une exception etait un truc fatal ?

  16. #116
    Membre émérite
    Avatar de Ti-R
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2003
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 683
    Points : 2 568
    Points
    2 568
    Par défaut
    Citation Envoyé par hpfx Voir le message
    Bonjour,
    j'utilise la SDL avec bonheur, et maintenant que j'ai un projet assez consequent, je me demande comment il faudrait que je fasse pour passer a SFML...

    vu la popularité de SDL, est-ce qu'on ne pourrait pas prevoir une sorte de "wraper" entre les deux ?
    ...
    [/CODE]
    Je peux me tromper, mais c'est pas du tout le but de la SFML, un wrapper serait long à coder, n'aurais pas trop d'intérêt, "salirait" le code de la SFML.

    Chaque bibliothèque à son propre fonctionnement, et c'est très dur de mapper un fonctionnement à un autre.

    De plus l'intérêt de SFML serait de faire autant en mieux avec pas forcément le même mécanisme pour arriver à un but similaire aussi (voir plus) facilement.

    Je ne pense pas que le coût soit vraiment immense sur l'apprentissage de SFML.

  17. #117
    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 Ti-R Voir le message
    Je peux me tromper, mais c'est pas du tout le but de la SFML,
    un wrapper serait long à coder, n'aurais pas trop d'intérêt, "salirait" le code de la SFML.
    J'ai pas dis que ca devait faire parti de la SFML.
    Citation Envoyé par Ti-R Voir le message
    Chaque bibliothèque à son propre fonctionnement, et c'est très dur de mapper un fonctionnement à un autre.
    C'est sans doute long, c'est vrai.
    Mais, le mode de fonctionnement a l'air assez similaire quand même.
    Citation Envoyé par Ti-R Voir le message
    De plus l'intérêt de SFML serait de faire autant en mieux avec pas forcément le même mécanisme pour arriver à un but similaire aussi (voir plus) facilement.
    Oui oui, je sais "c'est pas l'but de sfml", je me permet ici d'être plus précit : l'idée n'est pas de modifier SFML. mais d'avoir un module en plus, externe.
    Citation Envoyé par Ti-R Voir le message
    Je ne pense pas que le coût soit vraiment immense sur l'apprentissage de SFML.
    J'ai pas parlé d'apprentissage.
    Si tu relis bien mon message, tu vera que je part du constat qu'il existe dejà des miliers de projets SDL (je souhaite a SFML de faire mieux), l'objectif est de migrer ces projet sur SFML.
    et donc dans un premier temps de faire une sorte de maquette : on retire la SDL du projet, on met le SFML plus la bibliotheque "wraper" qui va bien et qui va mettre des bouts de SFML à l'interieur de fausses fonctions SDL, ensuite on corrige les quelques trucs que le wrapper n'a pu pas faire, et enfin on compile, pour voir.

    Alors bien sur, comprenons nous bien : j'ai pas dit que ca serait facile, ni même possible, c'est juste une idée que je lance hein.

    simplement parceque je constate que les deux librairies s'utilisent un peu de la même maniere, ce qui veux dire que l'architecture de l'appli n'a pas forcement besoin de grand changement, mais que la maniere d'utiliser les primitives ont changé.
    par exemple SFML utilise pas mal de flottant, mais pas la SDL qui est plutot entier, si cet aspect pouvait être gomé par le wrapper, on gagnerait du temps pour tester la migration. (voir l'exemple que je donne dans mon 1er post)

  18. #118
    Membre éclairé
    Avatar de Happy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Autre

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 665
    Points : 875
    Points
    875
    Par défaut
    Si tu veux changer une ligne de code par jour pour ta migration, alors ce wrapper aurais lieu d'être, sinon autant tout faire une fois hein.

  19. #119
    Membre actif
    Inscrit en
    Janvier 2004
    Messages
    186
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 186
    Points : 261
    Points
    261
    Par défaut
    Moi qui lisait le post et disais et encore pour du C++ pas pour du python.. et je voit ca :p
    Tellement cool que j'ai commencé à écrire un binding python:
    Que de joie ^^
    Bref, tout d'abord un grand bravo pour sfml, et serait il possible d'envisager un thread consacré au binding python et a son avancement ou une section sur le forum officiel ?
    Une autre question est-ce que ce serait possible d'avoir un installeur de Pysfml pour windows ? il n'y a qu'un makefile ^^
    Merci :p

  20. #120
    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
    Bref, tout d'abord un grand bravo pour sfml, et serait il possible d'envisager un thread consacré au binding python et a son avancement ou une section sur le forum officiel ?
    Tu peux poster sur le forum officiel pour avoir plus d'infos. Personnellement je ne m'en occupe pas encore, donc je ne peux pas t'en dire plus

Discussions similaires

  1. Réponses: 0
    Dernier message: 05/05/2010, 12h33
  2. Réponses: 0
    Dernier message: 05/05/2010, 12h33
  3. Réponses: 11
    Dernier message: 02/08/2007, 15h07

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