Mon programme est très très gourmand en mémoire et je désirerai optimiser
cette consommation.
Pour cela, j'aimerai connaître la mémoire utilisée par mes différents
objets, par mes dlls dans le détail et de préférence en direct pendant
l'éxécution de mon programme.
Connaitriez vous des techniques ou des outils me permettant d'espionner tout
ca?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Christophe
Bonjour,
je vois que l'on ne répond ni à toi ni à moi, si tu trouves qqchose fait signe.
Christophe Vergon "Jérôme VERITE" a écrit dans le message de news: #
Bonjour,
Mon programme est très très gourmand en mémoire et je désirerai optimiser cette consommation. Pour cela, j'aimerai connaître la mémoire utilisée par mes différents objets, par mes dlls dans le détail et de préférence en direct pendant l'éxécution de mon programme.
Connaitriez vous des techniques ou des outils me permettant d'espionner
tout
ca?
Merci d'avance
Jérôme
Bonjour,
je vois que l'on ne répond ni à toi ni à moi, si tu trouves qqchose fait
signe.
Christophe Vergon
"Jérôme VERITE" <veritejerome@wanadoo.fr> a écrit dans le message de news:
#py787FeDHA.2248@TK2MSFTNGP09.phx.gbl...
Bonjour,
Mon programme est très très gourmand en mémoire et je désirerai optimiser
cette consommation.
Pour cela, j'aimerai connaître la mémoire utilisée par mes différents
objets, par mes dlls dans le détail et de préférence en direct pendant
l'éxécution de mon programme.
Connaitriez vous des techniques ou des outils me permettant d'espionner
je vois que l'on ne répond ni à toi ni à moi, si tu trouves qqchose fait signe.
Christophe Vergon "Jérôme VERITE" a écrit dans le message de news: #
Bonjour,
Mon programme est très très gourmand en mémoire et je désirerai optimiser cette consommation. Pour cela, j'aimerai connaître la mémoire utilisée par mes différents objets, par mes dlls dans le détail et de préférence en direct pendant l'éxécution de mon programme.
Connaitriez vous des techniques ou des outils me permettant d'espionner
tout
ca?
Merci d'avance
Jérôme
Crevecoeur Jérôme
il existe le provess viewer qui permet de voir la taille des fichiers osus Windows 2000/XP.
Executez votre programme en pas à pas et répérez les consommations de mémoire.
libérez vous tous vos objets? avec des set monobjet=nothing?
ACS INFORMATIQUE 122,rue du Château d'orgemont 49000 ANGERS Tel: 02 41 68 42 36 Fax: 02 41 68 42 48 ---------------------------------------------------------------------------- --------------------- "Christophe" a écrit dans le message de news:bjskgp$qgs$
Bonjour,
je vois que l'on ne répond ni à toi ni à moi, si tu trouves qqchose fait signe.
Christophe Vergon "Jérôme VERITE" a écrit dans le message de news: # > Bonjour, > > Mon programme est très très gourmand en mémoire et je désirerai
optimiser
> cette consommation. > Pour cela, j'aimerai connaître la mémoire utilisée par mes différents > objets, par mes dlls dans le détail et de préférence en direct pendant > l'éxécution de mon programme. > > Connaitriez vous des techniques ou des outils me permettant d'espionner tout > ca? > > Merci d'avance > > Jérôme > >
il existe le provess viewer qui permet de voir la taille des fichiers osus
Windows 2000/XP.
Executez votre programme en pas à pas et répérez les consommations de
mémoire.
libérez vous tous vos objets?
avec des set monobjet=nothing?
ACS INFORMATIQUE
122,rue du Château d'orgemont
49000 ANGERS
Tel: 02 41 68 42 36 Fax: 02 41 68 42 48
----------------------------------------------------------------------------
---------------------
"Christophe" <geo.ch@tiscali.fr> a écrit dans le message de
news:bjskgp$qgs$1@news.tiscali.fr...
Bonjour,
je vois que l'on ne répond ni à toi ni à moi, si tu trouves qqchose fait
signe.
Christophe Vergon
"Jérôme VERITE" <veritejerome@wanadoo.fr> a écrit dans le message de news:
#py787FeDHA.2248@TK2MSFTNGP09.phx.gbl...
> Bonjour,
>
> Mon programme est très très gourmand en mémoire et je désirerai
optimiser
> cette consommation.
> Pour cela, j'aimerai connaître la mémoire utilisée par mes différents
> objets, par mes dlls dans le détail et de préférence en direct pendant
> l'éxécution de mon programme.
>
> Connaitriez vous des techniques ou des outils me permettant d'espionner
tout
> ca?
>
> Merci d'avance
>
> Jérôme
>
>
ACS INFORMATIQUE 122,rue du Château d'orgemont 49000 ANGERS Tel: 02 41 68 42 36 Fax: 02 41 68 42 48 ---------------------------------------------------------------------------- --------------------- "Christophe" a écrit dans le message de news:bjskgp$qgs$
Bonjour,
je vois que l'on ne répond ni à toi ni à moi, si tu trouves qqchose fait signe.
Christophe Vergon "Jérôme VERITE" a écrit dans le message de news: # > Bonjour, > > Mon programme est très très gourmand en mémoire et je désirerai
optimiser
> cette consommation. > Pour cela, j'aimerai connaître la mémoire utilisée par mes différents > objets, par mes dlls dans le détail et de préférence en direct pendant > l'éxécution de mon programme. > > Connaitriez vous des techniques ou des outils me permettant d'espionner tout > ca? > > Merci d'avance > > Jérôme > >
Christophe
Bonjour,
Je crois liberer tous les objets avec set mo=nothing et deleteobject pour les objets GDI créer par le programme (DC, pen, DIBsections)
j'utilise aussi une dll ecrite en C++, le probleme peut aussi venir de là.
Mon appli manipule des DIB de l'ordre de 15 Mo l'un. Au bout d'un certain temps d'utilisation (chargement, dechargement, rotation d'image) j'ai un echec dans la création de DIB.
Il faut éteindre et relancer la machine pour revenir à une situation normale. J'en conclu que je n'ai plus de ressources GDI.
christophe Vergon
"Crevecoeur Jérôme" a écrit dans le message de news: #
il existe le provess viewer qui permet de voir la taille des fichiers osus Windows 2000/XP.
Executez votre programme en pas à pas et répérez les consommations de mémoire.
libérez vous tous vos objets? avec des set monobjet=nothing?
--------------------- "Christophe" a écrit dans le message de news:bjskgp$qgs$ > Bonjour, > > je vois que l'on ne répond ni à toi ni à moi, si tu trouves qqchose fait > signe. > > Christophe Vergon > "Jérôme VERITE" a écrit dans le message de
news:
> # > > Bonjour, > > > > Mon programme est très très gourmand en mémoire et je désirerai optimiser > > cette consommation. > > Pour cela, j'aimerai connaître la mémoire utilisée par mes différents > > objets, par mes dlls dans le détail et de préférence en direct pendant > > l'éxécution de mon programme. > > > > Connaitriez vous des techniques ou des outils me permettant
Je crois liberer tous les objets avec set mo=nothing
et deleteobject pour les objets GDI créer par le programme
(DC, pen, DIBsections)
j'utilise aussi une dll ecrite en C++, le probleme peut aussi venir de là.
Mon appli manipule des DIB de l'ordre de 15 Mo l'un.
Au bout d'un certain temps d'utilisation (chargement, dechargement, rotation
d'image) j'ai un echec dans la création de DIB.
Il faut éteindre et relancer la machine pour revenir à une situation
normale. J'en conclu que je n'ai plus de ressources GDI.
christophe Vergon
"Crevecoeur Jérôme" <bbbbc.aaaaa@libertysurf.fr> a écrit dans le message de
news: #AXObnTeDHA.3024@tk2msftngp13.phx.gbl...
il existe le provess viewer qui permet de voir la taille des fichiers osus
Windows 2000/XP.
Executez votre programme en pas à pas et répérez les consommations de
mémoire.
libérez vous tous vos objets?
avec des set monobjet=nothing?
---------------------
"Christophe" <geo.ch@tiscali.fr> a écrit dans le message de
news:bjskgp$qgs$1@news.tiscali.fr...
> Bonjour,
>
> je vois que l'on ne répond ni à toi ni à moi, si tu trouves qqchose fait
> signe.
>
> Christophe Vergon
> "Jérôme VERITE" <veritejerome@wanadoo.fr> a écrit dans le message de
news:
> #py787FeDHA.2248@TK2MSFTNGP09.phx.gbl...
> > Bonjour,
> >
> > Mon programme est très très gourmand en mémoire et je désirerai
optimiser
> > cette consommation.
> > Pour cela, j'aimerai connaître la mémoire utilisée par mes différents
> > objets, par mes dlls dans le détail et de préférence en direct pendant
> > l'éxécution de mon programme.
> >
> > Connaitriez vous des techniques ou des outils me permettant
Je crois liberer tous les objets avec set mo=nothing et deleteobject pour les objets GDI créer par le programme (DC, pen, DIBsections)
j'utilise aussi une dll ecrite en C++, le probleme peut aussi venir de là.
Mon appli manipule des DIB de l'ordre de 15 Mo l'un. Au bout d'un certain temps d'utilisation (chargement, dechargement, rotation d'image) j'ai un echec dans la création de DIB.
Il faut éteindre et relancer la machine pour revenir à une situation normale. J'en conclu que je n'ai plus de ressources GDI.
christophe Vergon
"Crevecoeur Jérôme" a écrit dans le message de news: #
il existe le provess viewer qui permet de voir la taille des fichiers osus Windows 2000/XP.
Executez votre programme en pas à pas et répérez les consommations de mémoire.
libérez vous tous vos objets? avec des set monobjet=nothing?
--------------------- "Christophe" a écrit dans le message de news:bjskgp$qgs$ > Bonjour, > > je vois que l'on ne répond ni à toi ni à moi, si tu trouves qqchose fait > signe. > > Christophe Vergon > "Jérôme VERITE" a écrit dans le message de
news:
> # > > Bonjour, > > > > Mon programme est très très gourmand en mémoire et je désirerai optimiser > > cette consommation. > > Pour cela, j'aimerai connaître la mémoire utilisée par mes différents > > objets, par mes dlls dans le détail et de préférence en direct pendant > > l'éxécution de mon programme. > > > > Connaitriez vous des techniques ou des outils me permettant
Mon programme est très très gourmand en mémoire et je désirerai optimiser cette consommation. Pour cela, j'aimerai connaître la mémoire utilisée par mes différents objets, par mes dlls dans le détail et de préférence en direct pendant l'éxécution de mon programme.
Connaitriez vous des techniques ou des outils me permettant d'espionner tout ca?
-Tentez de remplacer les contrôles/instruction ou fonction VB et tous se qui est possible par des APIs, souvent plus légère. -Déclarer les variables dans le type le plus aproprié(ne pas mettre un age dans un type double par exemple). -Evitée de lire un fichiers dans sa totalité 'input(lof(f),f)' si il est trop gros. -Libérer tous les objets avec nothing -Ne pas crée des tableaux surdimensionnez, du style: MonTableau(10000) as string affin d'être certain de ne pas manquer d'élément, mais plutôt utilisée Redim pour en adapter les dimension quand nécéssaire. -Si c'est un projet qui a beaucoup de feuille, et qu'elle sont trés lourdes(style avec de grosses images...), ne les chargée qu'au moment désirer(et les décharger une fois qu'elle ne sont plus utile), une feuille pése en moyenne 2Mo en mémoire(biensûr sa dépend de la feuille). -Si une feuille à énormément d'image, mais qu'elle n'en a pas besoin simultanément, plutôt que de tous les mettres dans des ImageBox qu'on rend visible ou invisible au besoin, les mettres dans des ressource et les chargée/déchargée au besoin.
Voilà pas mal de choses, aprés il y en à surement(forcement) d'autre, mais c'est déjà je pense un début.
a+
Jérôme VERITE wrote:
Bonjour,
Bonjour,
Mon programme est très très gourmand en mémoire et je désirerai
optimiser cette consommation.
Pour cela, j'aimerai connaître la mémoire utilisée par mes différents
objets, par mes dlls dans le détail et de préférence en direct pendant
l'éxécution de mon programme.
Connaitriez vous des techniques ou des outils me permettant
d'espionner tout ca?
-Tentez de remplacer les contrôles/instruction ou fonction VB et tous se qui
est possible par des APIs, souvent plus légère.
-Déclarer les variables dans le type le plus aproprié(ne pas mettre un age
dans un type double par exemple).
-Evitée de lire un fichiers dans sa totalité 'input(lof(f),f)' si il est
trop gros.
-Libérer tous les objets avec nothing
-Ne pas crée des tableaux surdimensionnez, du style:
MonTableau(10000) as string
affin d'être certain de ne pas manquer d'élément, mais plutôt utilisée Redim
pour en adapter les dimension quand nécéssaire.
-Si c'est un projet qui a beaucoup de feuille, et qu'elle sont trés
lourdes(style avec de grosses images...), ne les chargée qu'au moment
désirer(et les décharger une fois qu'elle ne sont plus utile), une feuille
pése en moyenne 2Mo en mémoire(biensûr sa dépend de la feuille).
-Si une feuille à énormément d'image, mais qu'elle n'en a pas besoin
simultanément, plutôt que de tous les mettres dans des ImageBox qu'on rend
visible ou invisible au besoin, les mettres dans des ressource et les
chargée/déchargée au besoin.
Voilà pas mal de choses, aprés il y en à surement(forcement) d'autre, mais
c'est déjà je pense un début.
Mon programme est très très gourmand en mémoire et je désirerai optimiser cette consommation. Pour cela, j'aimerai connaître la mémoire utilisée par mes différents objets, par mes dlls dans le détail et de préférence en direct pendant l'éxécution de mon programme.
Connaitriez vous des techniques ou des outils me permettant d'espionner tout ca?
-Tentez de remplacer les contrôles/instruction ou fonction VB et tous se qui est possible par des APIs, souvent plus légère. -Déclarer les variables dans le type le plus aproprié(ne pas mettre un age dans un type double par exemple). -Evitée de lire un fichiers dans sa totalité 'input(lof(f),f)' si il est trop gros. -Libérer tous les objets avec nothing -Ne pas crée des tableaux surdimensionnez, du style: MonTableau(10000) as string affin d'être certain de ne pas manquer d'élément, mais plutôt utilisée Redim pour en adapter les dimension quand nécéssaire. -Si c'est un projet qui a beaucoup de feuille, et qu'elle sont trés lourdes(style avec de grosses images...), ne les chargée qu'au moment désirer(et les décharger une fois qu'elle ne sont plus utile), une feuille pése en moyenne 2Mo en mémoire(biensûr sa dépend de la feuille). -Si une feuille à énormément d'image, mais qu'elle n'en a pas besoin simultanément, plutôt que de tous les mettres dans des ImageBox qu'on rend visible ou invisible au besoin, les mettres dans des ressource et les chargée/déchargée au besoin.
Voilà pas mal de choses, aprés il y en à surement(forcement) d'autre, mais c'est déjà je pense un début.
a+
Christophe
En fait mon appli charge les images dans un DC en memoire, qui est gerer par une classe MemoryDIB Chaque DIB est ensuite paint à l'echelle dans le DC d'affichage qui lui est celui d'un pictureBox de l'appli gerer par une classe metricDC.
En fait j'ai l'impression que chaque fois que je crée une nouvelle instance de la classe memoryDIB et qu'elle est paint pour la première fois par PaintOnMetricDC(mdc as metricDC),la valeur de msavedDC& (valeur privée de la classe metricDC), est incrementée est quand ça dépasse 255 c'est la que ça bugg.
Je suis pas sur du moment mais je suis certain d'une chose c'est que la valeur augmente.
La valeur msavedDC& est attribuée à chaque appel d'une methode de metricDC par msavedDC&=saveDC&(mhDC&) Le DC est ensuite restauré à chaque fin d'appel par m_savedDC&=restoreDC(mhDC&,msavedDC&)
la valeur de mhDC& est attribuée sur mdiform_load
En résumé je vois qu'il y a une erreur mais pas moyen de la trouver.
Christophe V.
"Ledev" a écrit dans le message de news:
Jérôme VERITE wrote: > Bonjour,
Bonjour,
> Mon programme est très très gourmand en mémoire et je désirerai > optimiser cette consommation. > Pour cela, j'aimerai connaître la mémoire utilisée par mes différents > objets, par mes dlls dans le détail et de préférence en direct pendant > l'éxécution de mon programme. > > Connaitriez vous des techniques ou des outils me permettant > d'espionner tout ca?
-Tentez de remplacer les contrôles/instruction ou fonction VB et tous se
qui
est possible par des APIs, souvent plus légère. -Déclarer les variables dans le type le plus aproprié(ne pas mettre un age dans un type double par exemple). -Evitée de lire un fichiers dans sa totalité 'input(lof(f),f)' si il est trop gros. -Libérer tous les objets avec nothing -Ne pas crée des tableaux surdimensionnez, du style: MonTableau(10000) as string affin d'être certain de ne pas manquer d'élément, mais plutôt utilisée
Redim
pour en adapter les dimension quand nécéssaire. -Si c'est un projet qui a beaucoup de feuille, et qu'elle sont trés lourdes(style avec de grosses images...), ne les chargée qu'au moment désirer(et les décharger une fois qu'elle ne sont plus utile), une feuille pése en moyenne 2Mo en mémoire(biensûr sa dépend de la feuille). -Si une feuille à énormément d'image, mais qu'elle n'en a pas besoin simultanément, plutôt que de tous les mettres dans des ImageBox qu'on rend visible ou invisible au besoin, les mettres dans des ressource et les chargée/déchargée au besoin.
Voilà pas mal de choses, aprés il y en à surement(forcement) d'autre, mais c'est déjà je pense un début.
a+
En fait mon appli charge les images dans un DC en memoire, qui est gerer par
une classe MemoryDIB
Chaque DIB est ensuite paint à l'echelle dans le DC d'affichage qui lui est
celui d'un pictureBox de l'appli gerer par une classe metricDC.
En fait j'ai l'impression que chaque fois que je crée une nouvelle instance
de la classe memoryDIB et qu'elle est paint pour la première fois par
PaintOnMetricDC(mdc as metricDC),la valeur de msavedDC& (valeur privée de la
classe metricDC), est incrementée est quand ça dépasse 255 c'est la que ça
bugg.
Je suis pas sur du moment mais je suis certain d'une chose c'est que la
valeur augmente.
La valeur msavedDC& est attribuée à chaque appel d'une methode de metricDC
par msavedDC&=saveDC&(mhDC&)
Le DC est ensuite restauré à chaque fin d'appel par
m_savedDC&=restoreDC(mhDC&,msavedDC&)
la valeur de mhDC& est attribuée sur mdiform_load
En résumé je vois qu'il y a une erreur mais pas moyen de la trouver.
Christophe V.
"Ledev" <ledev@freesurf.fr> a écrit dans le message de news:
uda5bJseDHA.460@TK2MSFTNGP12.phx.gbl...
Jérôme VERITE wrote:
> Bonjour,
Bonjour,
> Mon programme est très très gourmand en mémoire et je désirerai
> optimiser cette consommation.
> Pour cela, j'aimerai connaître la mémoire utilisée par mes différents
> objets, par mes dlls dans le détail et de préférence en direct pendant
> l'éxécution de mon programme.
>
> Connaitriez vous des techniques ou des outils me permettant
> d'espionner tout ca?
-Tentez de remplacer les contrôles/instruction ou fonction VB et tous se
qui
est possible par des APIs, souvent plus légère.
-Déclarer les variables dans le type le plus aproprié(ne pas mettre un age
dans un type double par exemple).
-Evitée de lire un fichiers dans sa totalité 'input(lof(f),f)' si il est
trop gros.
-Libérer tous les objets avec nothing
-Ne pas crée des tableaux surdimensionnez, du style:
MonTableau(10000) as string
affin d'être certain de ne pas manquer d'élément, mais plutôt utilisée
Redim
pour en adapter les dimension quand nécéssaire.
-Si c'est un projet qui a beaucoup de feuille, et qu'elle sont trés
lourdes(style avec de grosses images...), ne les chargée qu'au moment
désirer(et les décharger une fois qu'elle ne sont plus utile), une feuille
pése en moyenne 2Mo en mémoire(biensûr sa dépend de la feuille).
-Si une feuille à énormément d'image, mais qu'elle n'en a pas besoin
simultanément, plutôt que de tous les mettres dans des ImageBox qu'on rend
visible ou invisible au besoin, les mettres dans des ressource et les
chargée/déchargée au besoin.
Voilà pas mal de choses, aprés il y en à surement(forcement) d'autre, mais
c'est déjà je pense un début.
En fait mon appli charge les images dans un DC en memoire, qui est gerer par une classe MemoryDIB Chaque DIB est ensuite paint à l'echelle dans le DC d'affichage qui lui est celui d'un pictureBox de l'appli gerer par une classe metricDC.
En fait j'ai l'impression que chaque fois que je crée une nouvelle instance de la classe memoryDIB et qu'elle est paint pour la première fois par PaintOnMetricDC(mdc as metricDC),la valeur de msavedDC& (valeur privée de la classe metricDC), est incrementée est quand ça dépasse 255 c'est la que ça bugg.
Je suis pas sur du moment mais je suis certain d'une chose c'est que la valeur augmente.
La valeur msavedDC& est attribuée à chaque appel d'une methode de metricDC par msavedDC&=saveDC&(mhDC&) Le DC est ensuite restauré à chaque fin d'appel par m_savedDC&=restoreDC(mhDC&,msavedDC&)
la valeur de mhDC& est attribuée sur mdiform_load
En résumé je vois qu'il y a une erreur mais pas moyen de la trouver.
Christophe V.
"Ledev" a écrit dans le message de news:
Jérôme VERITE wrote: > Bonjour,
Bonjour,
> Mon programme est très très gourmand en mémoire et je désirerai > optimiser cette consommation. > Pour cela, j'aimerai connaître la mémoire utilisée par mes différents > objets, par mes dlls dans le détail et de préférence en direct pendant > l'éxécution de mon programme. > > Connaitriez vous des techniques ou des outils me permettant > d'espionner tout ca?
-Tentez de remplacer les contrôles/instruction ou fonction VB et tous se
qui
est possible par des APIs, souvent plus légère. -Déclarer les variables dans le type le plus aproprié(ne pas mettre un age dans un type double par exemple). -Evitée de lire un fichiers dans sa totalité 'input(lof(f),f)' si il est trop gros. -Libérer tous les objets avec nothing -Ne pas crée des tableaux surdimensionnez, du style: MonTableau(10000) as string affin d'être certain de ne pas manquer d'élément, mais plutôt utilisée
Redim
pour en adapter les dimension quand nécéssaire. -Si c'est un projet qui a beaucoup de feuille, et qu'elle sont trés lourdes(style avec de grosses images...), ne les chargée qu'au moment désirer(et les décharger une fois qu'elle ne sont plus utile), une feuille pése en moyenne 2Mo en mémoire(biensûr sa dépend de la feuille). -Si une feuille à énormément d'image, mais qu'elle n'en a pas besoin simultanément, plutôt que de tous les mettres dans des ImageBox qu'on rend visible ou invisible au besoin, les mettres dans des ressource et les chargée/déchargée au besoin.
Voilà pas mal de choses, aprés il y en à surement(forcement) d'autre, mais c'est déjà je pense un début.