kezyr
Messages postés3Date d'inscriptionmardi 13 janvier 2004StatutMembreDernière intervention22 janvier 2004
-
13 janv. 2004 à 14:59
kezyr
Messages postés3Date d'inscriptionmardi 13 janvier 2004StatutMembreDernière intervention22 janvier 2004
-
22 janv. 2004 à 16:46
Bonjour
Voila, j'expose mon problème : j'ai un programme avec une fonction qui comporte 14 boucle for imbriqué (oui je sais, c'est beaucoup, mais obligatoire). Ces boucles permettent de faire un calcul assez complexe sur une courbe et le problème est que lorsque ce processus (qui peut prendre 5 10 min si on met beaucoup de parametres) est lancé, il utilise 100 % du cpu, rendant le programme comme mort.
J'aimerais limiter un peu ca, quitte à prendre plus de temps, parceque sinon, impossible de faire un bouton annulé, ou meme de voire ou on en est, sauf avec une progressbar.
La ou je comprend pas, c'est que le programme arrive à afficher une fenetre avec une progressbar pendant ce processus qui evolu, mais pas possible de mettre un label dans cette fenetre, enfin, on peut en mettre un, mais il sera transparent.
Donc la solution a tout ca, a priori, c'est d'arriver à limiter les ressources utilisé par le programme pour que la machine soit capable de traiter autre chose que ce calcul.
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 13 janv. 2004 à 15:04
pour que ton interface graphique continue de tourner durant les calculs il faut que ceux ci s'executent dans un thread
see System.Threading
mate un peu la seule source que G postée ici pour l'instant, je crois que G justement mit un thread (basique) pour faire la lecture du journal win
TheSaib
Messages postés2367Date d'inscriptionmardi 17 avril 2001StatutMembreDernière intervention26 décembre 200723 13 janv. 2004 à 22:57
Tu peux multithreadé ton application , en n'oubliant pas de mettre des mutex car a mon avis si tout est imbriqué actuellement , il faut faire attention au contenu des variables.
Si çà bouffe aussi trop de mémoire tu peux forcer l'execution du garbageCOllector
MAis a mon avis il doit y avoir une auntre solution que tes 24 boucles imbriquées ca me parait un peu bizarre ton truc ;)
kezyr
Messages postés3Date d'inscriptionmardi 13 janvier 2004StatutMembreDernière intervention22 janvier 2004 22 janv. 2004 à 16:46
Malheureusement, il n'y a pas d'autres solutions a priori, puisqu'il s'agit d'une fonction qui balaye une courbe faite a partir de 14 parametres et qui teste toute les valeurs possible.
Mais bon, j'ai a peu près resolut le probleme, merci :)