Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Limiter la mémoire utiliser par ses programmes [ Divers / Divers ] (Arto_8000)

mercredi 29 novembre 2006 à 02:09:37 | Limiter la mémoire utiliser par ses programmes

Arto_8000

Présentement je suis entrain de dévelloper un mini jeux de plateforme du genre Mario avec SDL. Le jeux fonction très bien sauf que j'ai remarquer qu'il ralentit énormement à près un certain temps et cela vient du fait qu'il utilise de façon démesuré et croissant l'espace mémoire. J'ai réussit à ralentir la prise de mémoire de mon jeux avec les macros ifndef, mais malgré tout le problème persiste. main.c : http://www.pastebin.us/8997 draw.c : http://www.pastebin.us/8998 draw.h : http://www.pastebin.us/8999 calc.c : http://www.pastebin.us/9000 calc.h : http://www.pastebin.us/9001 Les autres fichiers font partis de la libraire SDL ou sont des librairies standard. Si vous avez une quelquonque idée d'où cela pourrait venir merci d'avancer de me donner des pistes, ça fait seulement quelque mois que je fais du c.

mercredi 29 novembre 2006 à 09:10:28 | Re : Limiter la mémoire utiliser par ses programmes

platon179

Membre Club
Réponse acceptée !
Salut!

Si ta mémoire augmente tout le temps, c'est que tu as une fuite quelque part. J'ai pas le temps de regarder ton code en détail, mais voici quelques pistes :

Tu es sûr de libérer toute la mémoire utilisée? A chaque fois (ou presque) que tu fais un malloc(), il doit y avoir un free() associé...

De même, dans ta fonction drawRect(), tu fais un SDL_CreateRGBSurface(), alors qu'il n'y a pas de SDL_FreeSurface()... Et je suppose que tu appelles cette fonction relativement souvent (genre, a chaque frame)... Pas étonnant à partir de là que ta mémoire augmente...

Il faut que tu vérifies ce genre de choses... De même, tout à  la fin de ton main(), tu dois faire un SDL_FreeSurface(ecran);

Bien cordialement,

mercredi 29 novembre 2006 à 10:00:33 | Re : Limiter la mémoire utiliser par ses programmes

yoyo269

Membre Club
Salut Arto_8000,

effectivement ça sent la fuite à plein nez ! (pas de gaz )
Ce qu'a dit planton va certainement résoudre ton problème, mais j'en profite pour ajouter autre chose.
Il y aussi un delete qui doit être associé à chaque new !!!

PS: désolé pour la blague foireuse

YOYO, @+.

"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"


mercredi 29 novembre 2006 à 10:57:17 | Re : Limiter la mémoire utiliser par ses programmes

platon179

Membre Club
Oui, mais le problème ne se pose pas ici étant donné qu'il code en C, et non en C++... Mais c'est quand même bon de le signaler !

PS : La culture c'est comme la confiture... Moins on en a, plus on l'étale (ca n'a rien de personnel, c'est juste pour répondre a ta citation )


mercredi 29 novembre 2006 à 23:33:36 | Re : Limiter la mémoire utiliser par ses programmes

Arto_8000

Merci de m'avoir aider cette fuite de gaz ... heu de mémoire, c'était effectivement à cause qu'il manquait les SDL_FreeSurface pour la totalité des fonctions qui créaient des surfaces.



Cette discussion est classé dans : http, www, mémoire, us, pastebin


Répondre à ce message

Sujets en rapport avec ce message

Problème de compilation [ par Arto_8000 ] Bon j'ai un problème avec un programme que je suis en train de dévelloper. J'ai essayer de le débugger, mais l'erreur semble venir de la compilation, utilisé msxml4 sous visual c++ [ par brekiano ] g trouvé aprés une langue recherche un lien qui m'as vraiment aidéavant de voir cette page il faut que tu telecharger le fichier msxmlfra.msi depuis c Probleme perte de mémoire - Chilkat [ par SuperChouquette ] Bonjour, je suis débutant en c++ et j'éssaye d'utiliser les librairies chilkat Http  et CkStringArray, je récupere des parametres situés sur un site i Cherche programmeur c-script ou c++ pour simulateur de manèges [ par elkion ] j'aimerai réunir un maximum de personnes sur un projet de création de simulateurs de fete foraine, je représentes le premier site de fetes foraines de Scanner de jpeg GDI+ [ par RaphAstronome ] Bonjour,Y aurait t'il un utilitaire qui scanne les .jpg pour voir ci elle exploite la faille GDI+ ?RaphAstronomehttp://www.astro5000.com<a href='http: Quel livre choisir ? [ par goutbouyo ] Salut,Je voudrai m'acheter un livre sur la programmation graphique pour ne pas avoir à chercher à chaque fois des infos sur internet et surtout pour e XPcom xul [ par Bilock ] A titre indicatif. Le pont entre xul, javascript, perl, python et c++ peut être réalisé à l'aide des xpcom et de xpconnect. L'avènement de xulrunner v Profondeur des couleurs [ par Mastersam ] Bonjour, je voudrais juste savoir comment on récupère l'information sur le nombre de couleurs du système (16 ou 32 bits généralement) sous windows. En Nouveau [ par gaya ] Ouverture d'un nouveau forum consacrer à la programmation C/C++ sur http://www.cppint.fr.st , venez nombreux !Il s'agit d'un forum international, ouve Génésia Online - Recherche de développeur C/C++ [ par nicaud ] Bonjour,Je suis co-fondateur de Génésia Online ( http://www.genesia-online.com ).Notre projet a pour but de créer un monde virtuel en 3D futuriste dan


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 15,366 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.