Comment faire pour qu'une progressbar ne ralentisse pas tout
harddisk
Messages postés54Date d'inscriptionvendredi 28 décembre 2001StatutMembreDernière intervention13 mai 2007
-
28 juin 2002 à 20:06
SibosisITS
Messages postés72Date d'inscriptionmardi 26 février 2002StatutMembreDernière intervention20 juin 2003
-
13 sept. 2002 à 18:05
je fais un boucle:
je lis un octet d'un buffer
Je fait une opération dessus, je l'écrit dans un fchier
x=x+1
et on reboucle
Ca prend environ 5 sec
Ensuite je met une progressbar dans la boucle avec
Progressbar1.max = len(Buffer)
et progressbar1.value = x
et là ca prend 30 sec!!!!!!!!
N'y a til pas un moyen pour arrangerr ca
Pourtant je n'ai pas mi de doevents, mais peut-être que la progressbar appel un doevnets
Mystere..........
A voir également:
Comment faire pour qu'une progressbar ne ralentisse pas tout
SibosisITS
Messages postés72Date d'inscriptionmardi 26 février 2002StatutMembreDernière intervention20 juin 2003 13 sept. 2002 à 18:05
C'est normal que l'ajout d'un progressBar ralentisse l'opération. Il faut savoir qu'a chaque appel d'un progressBar, Il y a plusieurs opérations effectuées :
- Changement de la valeur de la propriété ;
- Calcul de l'affichage de la barre (partie colorée)
- Rafraîchissement de l'affichage de la barre ;
Les deux premières opérations n'auront que peu d'incidence sur le temps (une ou deux secondes je pense). C'est le réaffichage qui prend du temps. Le seul moyen de réduire le temps ajouté est de réduire le nombre de modifications de la valeur du progressBar en ne l'appelant par exemple que toutes les 100 boucles... ou plus... suivant la taille de ton buffer. En réalité, il n'est nécessaire de l'appeler au maximum qu'un nombre de fois égale au nombre de pixels que la barre de progression fait à l'écran.