begin process at 2010 03 22 14:31:06
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Divers

 > 

Limiter la mémoire utiliser par ses programmes


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Limiter la mémoire utiliser par ses programmes

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ée 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


Appels d'offres

Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,373 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales