Problème de gestion de la memoire - stockage de données 3D lues dans un fichier
serialtom
Messages postés34Date d'inscriptionmercredi 9 mars 2005StatutMembreDernière intervention29 octobre 2009
-
26 oct. 2009 à 22:08
serialtom
Messages postés34Date d'inscriptionmercredi 9 mars 2005StatutMembreDernière intervention29 octobre 2009
-
29 oct. 2009 à 19:02
Bonjour à tous,
je vous contacte car j'ai un gros problème de gestion de la mémoire. voici mon contexte. j'ai implémenté une application qui sert a visualiser en 3D des points, courbes et surfaces. pour cela j'ai créé une classe parser, une classe static container (avec en données mebre static listepoints,listecourbes & listesurfaces), et une classe viewer. j'ai aussi des classes d'objets geometriques comme point (avec en donnée membre nom, X, Y, Z).
j'ai un fichier contenant 8700 points environs. en construisant ma liste de points je remplis deja presque 600Mo de Memoire !
avez vous une piste pour commencer à creuser ce soucis ???
dites moi de quelle partie du code vous avez besoin pour identifier le pb.
merci encore pour votre aide.
bonne soiree
A voir également:
Problème de gestion de la memoire - stockage de données 3D lues dans un fichier
cptpingu
Messages postés3837Date d'inscriptiondimanche 12 décembre 2004StatutModérateurDernière intervention28 mars 2023123 26 oct. 2009 à 23:43
Effectivement, sans code, ça va être dur de t'aider.
Néanmoins, pour avoir 600Mo de mémoire prise, c'est que tu fais forcément de la duplication en mémoire.
- Vérifie que lorsque tu passes des arguments, tu les passes par références et non par copie
- Vérifie que tu ne fais pas de concaténation de std::string, mais que tu utilises bien un stringstream.
- Utilise le partage de mémoire pour des objets similaires (voir design pattern flyweight)
Si ton application n'est pas trop grosse, je serais curieux de voir les classes conteneurs, et les méthodes qui les manipulent.