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 :

Fuites mémoires SDL ?


Sujet :

SDL

  1. #1
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2011
    Messages : 4
    Points : 7
    Points
    7
    Par défaut Fuites mémoires SDL ?
    Bonjour à tous,

    Je suis étudiant et je m'intéresse depuis peu à SDL pour un projet. J'ai alors commencé par entamer le tuto de developpez, seulement je suis assez surpris :
    habituellement pour apprendre à utiliser une bibliothèque, j'écris (ou plutôt copie) un morceau de code le plus simple et fondamental possible pour vérifier si ça fonctionne et poursuivre. C'est ce que j'ai fait avec le code proposé ici, j'ai ensuite naturellement voulu vérifier s'il n'y avait aucune fuite, mais j'ai constaté que l'initialisation des modes vidéo et audio au moins provoquent des fuites (détectées par valgrind) !!

    Je trouve celà un peu gros pour être normal, j'ai sûrement fait quelque chose de travers. Auriez-vous une idée sur mon problème ?

    Merci d'avance pour vos réponses

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


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 862
    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 862
    Points : 219 061
    Points
    219 061
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    Effectivement, la SDL provoque des rapports de fuites dans valgrind. Je ne suis complètement sur que ces fuites sont des vrais fuites ou non, mais il y a environ 100k rapporté par valgrind comme manquant.
    Ces fuites sont liés à l'utilisations des fonctions de la Xlib par la SDL. Tout de même, il rete important de vérifié les fuites de mémoires de nos programmes SDL.
    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.

  3. #3
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2011
    Messages : 4
    Points : 7
    Points
    7
    Par défaut
    Merci de votre réponse,

    Bien sûr il ne faut aucune fuite dans mon programme, mais dans mon cas, le rapport de valgrind fera tache pour mon rendu, que j'aie fait des erreurs ou non.
    J'espère que ce sont les seules "fuites" de sdl.

    Citation Envoyé par LittleWhite Voir le message
    Ces fuites sont liés à l'utilisations des fonctions de la Xlib par la SDL.
    > Est-ce que ça signifie que les "fuites" proviennent de la Xlib ?

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


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 862
    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 862
    Points : 219 061
    Points
    219 061
    Billets dans le blog
    120
    Par défaut
    Sur les rapports de valgrind, on voit que les fuites proviennent des fonction de la SDL (SDL_Init) et que ces fonctions appelent un tas de truc de la Xlib.

    Peut être qu'il y a un flag pour valgrind pour mieux gerer c'est erreurs (comme j'ai pu le voir pour la glib)
    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.

  5. #5
    Membre averti
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Octobre 2008
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Octobre 2008
    Messages : 187
    Points : 448
    Points
    448
    Par défaut
    Le problème ne vient pas de SDL ni de Xlib, mais directement de l'implémentation de la libc. Celle-ci alloue des ressources qui ne sont libérées qu'après la sortie du programme, ce qui fait que valgrind croie qu'il y a des fuites.

    Ils en parlent dans la FAQ de valgrind : http://valgrind.org/docs/manual/faq.html#faq.reports. Essaye de lancer le programme avec l'option --run-libc-freeres=yes. J'ai eu le même problème, et pour moi ça n'a pas marché

    Si tu es en C++, tu auras également des problèmes avec la STL, qui peuvent être résolus de la manière suivante : http://valgrind.org/docs/manual/faq.html#faq.reports

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


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 862
    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 862
    Points : 219 061
    Points
    219 061
    Billets dans le blog
    120
    Par défaut
    Je me permet de croire que c'est toujours lié a la SDL / xlib, car lorsque l'on regarde le rapport valgrind d'un programme SDL (même le plus simple -> SDL_Init() / SDL_SetVideoMode() / SDL_Quit() ) on remarquera toujours des fuites de mémoire dans le rapport... même si nous n'avons rien fait d'autre que les appels SDL.
    Alors oui, c'est possible que la xlib face certaines choses trop profondes qui font que valgrind se perdent ... mais pour répondre a l'interrogation ... ce n'est pas notre programme qui fuit \ o / (il faut tout de même vérifier, et bien surveiller ce qui se passe
    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.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Fuite mémoire en SDL/OpenGL
    Par erniubo dans le forum SDL
    Réponses: 8
    Dernier message: 20/05/2009, 21h46
  2. [tomcat][memoire] java.net.URL et fuite mémoire
    Par Seiya dans le forum Tomcat et TomEE
    Réponses: 6
    Dernier message: 09/03/2009, 10h41
  3. Outil de recherche de fuite mémoire
    Par eag35 dans le forum MFC
    Réponses: 4
    Dernier message: 02/02/2005, 12h46
  4. [SWT]SWT et fuite mémoire(ou pas)
    Par menuge dans le forum SWT/JFace
    Réponses: 2
    Dernier message: 22/06/2004, 21h40
  5. [debug] fuites mémoires
    Par tmonjalo dans le forum C
    Réponses: 3
    Dernier message: 28/07/2003, 17h20

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