begin process at 2010 02 10 10:28:58
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Divers

 > 

General

 > 

Utilisation abusive ressource windows


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

Utilisation abusive ressource windows

vendredi 6 juin 2008 à 11:38:24 | Utilisation abusive ressource windows

pulpul74

Bonjour,
J'ai actuellement installé une applic en VB6 chez un client. Cette applic à l'heure actuelle dois récupérer les données d'un fichier texte, ensuite je fais différents tri pour en extraire les données qui m'interresse, j'ai pas mal de boucle d'attente et de tri. Mes boucle ne dépassent jamais 100, et je fais mes cycle tout les 500ms.
En fait mon problème c'est que quand je lance cette applic, tou va bien, mais plus on avance dans le temps, plus elle utilise de la ressource windows. j'étais rendu à 50% du processeur utilisé, 40M de mémoire prise.... J'aimerai savoir s'il y a une solution pour utilisé moins de ressource, ou au moins les rendres, ou bien optimiser le code....Si vous avez une solution, merci d'avance
vendredi 6 juin 2008 à 11:57:42 | Re : Utilisation abusive ressource windows

NHenry

Membre Club
Bonjour

Il faut voir ton appli dans son ensemble.

Mais pour être sûr de libérer un objet, il faut lui assigner Nothing.
Ensuite je ne puis rien te dire de plus, c'est vraissemblablement ton code qui doit se charger progressivement.

Le fer à souder a besoin d'une panne pour fonctionner.
VB (6, .NET1&2), C++, C#.Net1
Mon site
vendredi 6 juin 2008 à 14:24:37 | Re : Utilisation abusive ressource windows

pulpul74

Pour les lecture ou ecriture d'un fichier texte, j'utilise Open. y'a pas moyen de gagner la dessus?
Sinon je suis en option explicit, cela facilite t'il les choses.
Et est ce que l'utilisation de boucle (For-Next) peut utiliser autant de mémoire ( à noter que j'ai des boucles dans des boucles), parce que a part ca et des traitement de chaine (genre mid), c'est presque tout ce que j'ai...
J'ai aussi beaucoup fractionné en multiple 'public function' dans des modules différents. Cela est il une bonne solution?
vendredi 6 juin 2008 à 14:49:34 | Re : Utilisation abusive ressource windows

NHenry

Membre Club
Bonjour

Option Explicit est indispensable en VB6.
Il est possible éventuellement, que tu interrompe une procédure (contenant un DoEvents) et que cela se fasse en cascade, alors là il y a un risque, mais sinon, d'après ce que tu as écris, je ne vois rien de grave (même parfois c'est Très bien).

Le fer à souder a besoin d'une panne pour fonctionner.
VB (6, .NET1&2), C++, C#.Net1
Mon site
vendredi 6 juin 2008 à 14:55:34 | Re : Utilisation abusive ressource windows

pulpul74

J'avais ajouté quelques DoEvents dans certaines boucle pensant que cela pourrai faciliter les choses.
Faut il que je les enlève? Je n'en ai pas forcement besoin dans des boucle For-Next.
vendredi 6 juin 2008 à 15:12:41 | Re : Utilisation abusive ressource windows

NHenry

Membre Club
Bonjour

Tu peux essayer avec et sans pour voir la différence, mais à toi de voir si cela te convient.

C'est assez difficile de dire la cause, sans avoir la source, mais je suppose que c'est pro (tu fais référence à un client), donc je ne serais pas exigeant. Mais je ne puis t'en dire plus sans avoir plus d'info, mais je ne vois pas vraiment lesquels (d'infos) seraient déterminantes. Dsl.

Le fer à souder a besoin d'une panne pour fonctionner.
VB (6, .NET1&2), C++, C#.Net1
Mon site
vendredi 6 juin 2008 à 15:33:51 | Re : Utilisation abusive ressource windows

pulpul74

Merci pour ton aide, je vais essayer de voir pour les DoEvents, sinon je vois pas comment je pourrais simplifier plus mon programme, parce que je ne vois plus que cette solution, la profusion de boucle le fais ralentir à force. Pourtant j'essaye au mieux de raccourcir ces boucles....
Mais merci quand même pour ton aide, je vais éssayé maintenant de trouvé une solution, sinon ce sera le redémarrage du programme à intervalles régulier...
Bonne continuation
vendredi 6 juin 2008 à 23:52:17 | Re : Utilisation abusive ressource windows

us_30

Membre Club

Bonsoir,

Comme déjà dit, DoEvents permet "de redonner la main" aux autres programmes externes en cours. En principe, cela est utile pour éviter de tout figer durant l'exécution de ton programme. Le "mieux" étant d'éviter de les mettre dans une boucle, mais peut-être difficile dans ton cas.

Ensuite, si la quantité de mémoire utilisée augmente, cela ne doit pas être les boucles (ou directement les boucles)... Y a-t-il une mise en mémoire d'un tableau indicé ? (Redim Tab(t) as ...)
Le temps d'attente, quant à lui, est probablement le résultat des boucles qui ont l'air d'augmenter... Est-ce que les bornes sont modifiées au fur et à mesure ?
ex :
for b1=1 to 10000
for b2=1 to b1 ... etc
cette structure devient vite pénalisante...

Autre chose de bien, comme déjà dit, c'est l'emploi de Option Explicit, mais reste à donner un type de variable adapté... Pour les boucles dans la mesure où cela ne pose pas de problème, choisir des type LONG.
ex :
Dim b1 as Long, b2 as Long ... etc

Il reste que sans code, comme le dit NHenry, difficile d'en dire plus...

Amicalement,
Us.

vendredi 13 juin 2008 à 18:19:41 | Re : Utilisation abusive ressource windows

bonjourcheval

De plus, pour toutes tes traitements de chaines :

si tu concatènes des 3 chaînes,

strA = StrA & strB & strC

Utilise plutôt

strA = StrA & (strB & strC)

C'est plus rapide, car il recopie la chaine A selement 1 fois à la place de 2

Aussi, utilise les fonctions de chaînes tel mid$, left$,etc tu vas sauver un peu de temps

Il y a un guide là dessus sur internet.
[ Lien ]

Il m'a bien aider! J'espère qu'il t'aidera aussi =)


Cette discussion est classée dans : ressource, windows, applic, utilisation, abusive


Répondre à ce message

Sujets en rapport avec ce message

utilisation de polices dans le fichier ressource [ par ayrton ] Bien le bonjour à tous.J'ai besoin d'utiliser une police de caractère exotique dans mon application. J'ai un fichier de ressource contenant déjà pas m Utilisation de FileSystemObject ... [ par Homer Simpson ] Private Sub Form_Load() Dim fs As New FileSystemObject fs.copyfile "c:\windows\bureau\aaa.txt", "c:\windows\bureau\bbb.txt"End SubPourquoi ça ne Utilisation des icones sytemes de Windows [ par FaciCAD ] Commen je peut faire pour utiliser les icones sytemes de Windows XP (ex.: Les icones dans l'explorateur de window, les icones des fichiers reconnu par utilisation des dll de windows [ par Metabee ] Bonjour je voudrais savoir comment on fait pour utiliser une dll de windows à partir de visual basicmerci Utilisation d'API autres que les API de Windows [ par PierreRIVET ] Bonjour,Je dois utiliser des API autres que celles de Windows.Je bute sur le mode d'emploi qui m'a été fourni:a) charger les api en mémoire à l'aide d utilisation du dossier compressé de windows xp [ par morio ] Quelqu'un est-il arrivé a utilisé le dossier compressé de windows xp dans un programme vb6 pour compresser des fichiers Utilisation des API windows problème [ par fg85 ] Voila , j'ai crée un programme qui permet de changer le texte du bouton démmarrer sous windows XP. Il me faudrait maintenant récuperer ce texte, il fa Utilisation des API Windows [ par Skyfou ] Bonjour,J'aimerai utiliser quelques API Windows dans certains de mes scripts VBS.En fouillant sur le web, j'ai bien remarqué qu'il faut utiliser DllIm Touches système Windows XP [ par tatayet95 ] Salut à tous,Existe-t-il un moyen de bloquer (et donc de débloquer) temporairement l'utilisation des touches système (touche Windows, CTRL-ALT-SUP,... Utilisation explorateur windows [ par kingdom_slayer_666 ] Bonsoir alors ca peut vous paraitre facile (ou bete) etc.. mais peut on, en utilisant le fichier d explorateur windows (a savoir c:/windows/explorer.e


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

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 : 0,437 sec (4)

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