Je suis apeuré par la consommation de mémoire de mon prog
ben2249
Messages postés11Date d'inscriptiondimanche 7 décembre 2003StatutMembreDernière intervention 2 février 2009
-
2 avril 2007 à 09:17
ben2249
Messages postés11Date d'inscriptiondimanche 7 décembre 2003StatutMembreDernière intervention 2 février 2009
-
10 avril 2007 à 11:20
Tout d'abord bien le bonjour à vous tous, ceci est mon premier post..
Je vous éxplique mon inquiétude..
J'ai fais une petite appli qui, toutes les heures, charge un document XML situé sur un site internet. Elle le recopie en local et télécharge des images dont les URLs sont stockées dans le XML.
Elle compare les dates du XML avec celle stockée en mémoire.
Si la date est plus récente, elle fait apparaitre un form ( à la MSN messenger ) pour avertir l'utilisateur que des nouvelles photos sont disponibles.
L'utilisateur a la possibilité d'ouvrir un autre form, dans lequel il peut voir les images et les infos parsées.
Voila, vraiment rien de compliqué en somme. Cependant, je suis effrayé par la consommation de mon application !! Au démarrage elle prend 23 000 de ram. Quand j'ouvre le form qui parse le XML, ça monte jusqu'à 28 000 kan je traffique les boutons... Et ça ne semble jamais redescendre.............
Est ce normal ??
A voir également:
Je suis apeuré par la consommation de mémoire de mon prog
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 2 avril 2007 à 09:28
Bienvenue dans le monde des langages managés ^^
En fait c'est le framework qui tourne derrière qui consomme pas mal... c'est à dire que si tu démarres une autre application qui utilise le framework, elle consommera très peu étant donné que le framework tourne déjà (pour ta première application).
Un simple hello world consomme 20Mo
MorpionMx
Messages postés3466Date d'inscriptionlundi 16 octobre 2000StatutMembreDernière intervention30 octobre 200857 2 avril 2007 à 09:32
Ouaip.
Mais ca peut sembler beaucoup quand meme.
Est-ce que tu libères bien toutes les ressources allouées (Images, fichier xml en mémoire, ton WebClient qui télécharge ton xml (?), etc.)
Quand tu minimises ton appli, la consommation descend ?
Et si tu forces un GC.Collect() ?
ben2249
Messages postés11Date d'inscriptiondimanche 7 décembre 2003StatutMembreDernière intervention 2 février 2009 2 avril 2007 à 09:48
Merci pour vos réponses si rapides !!
Bidou : Oui j'avais vu que le framework me faisait consommer sur mes premieres applications. Mais même si elles étaient plus simple elle en dépassaient pas le 10 000 de ram.. Me semble t il..
Morpion : Oui je libère bien toutes les ressources. A l'exeption des images, enfin du picture box ..
- Le web client pour les téléchargement est Disposed après chaque dwld
- Le dataset qui lit le XML distant et écrit le local est bien Disposed
- J'utilise des ShowDialog et non des Show...
Mon main form est toujours hidden. Donc pas minimisé. Tout se passe dans le systray.
Les forms qui s'ouvrent ensuite ne peuvent que se refermer. Mais la ressource ne baisse pas pour autant à la fermeture.
ben2249
Messages postés11Date d'inscriptiondimanche 7 décembre 2003StatutMembreDernière intervention 2 février 2009 2 avril 2007 à 10:26
Je viens de tester de mettre des GC.collect de partout ( à la fermeture des forms ou à la fin du traitement des xml.. ) aucune différence me semble t il.........
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 2 avril 2007 à 10:30
Si je créer un nouveau projet WinForm, que je n'ajoute aucun code, j'arrive à 18Mo.
Alors si ton application tourne avec 23Mo, ça me paraît pas tant démesuré que ça...
Surtout qu'un DataSet, c'est pas ce qu'il y a de plus léger comme object ^^
(Un datatable te suffirait peut-être? Mais je ne pense pas que ça fasse de gros changement...)
ben2249
Messages postés11Date d'inscriptiondimanche 7 décembre 2003StatutMembreDernière intervention 2 février 2009 2 avril 2007 à 10:44
Ce qui me surprend c'est que ça monte aux environs de 30 000 une fois tous les forms ouverts et fermés, et que ça ne semble pas redescendre.....
De plus j'ai un autre programme en Csharp qui tourne constamment. Il ne consomme quasi rien.. J'aurais plutôt pensé que ce dernier utliserait beaucoup de ressources et que le nouveau lui en emprunterait... Je suis vraiment un newbie du GC
MorpionMx
Messages postés3466Date d'inscriptionlundi 16 octobre 2000StatutMembreDernière intervention30 octobre 200857 2 avril 2007 à 12:46
Ouai, c'est ce que je pensais.
Sous vista, une simple appli avec une form monte a 3Mo environ.
Sinon j'ai une appli console qui tourne en boucle depuis 2 heures la, qui me fait pas mal de calculs et les insere en bdd, 1600 Ko.
ben2249
Messages postés11Date d'inscriptiondimanche 7 décembre 2003StatutMembreDernière intervention 2 février 2009 7 avril 2007 à 11:36
J'ai beau faire, je ne parviens pas à réduite la consommation de mémoire....... J'ai peur qu'un tout petit logiciel utilisant 30 megs de ram n'interresse personne..