Vitesse de rafraichissement d'une fenetre text [Résolu]

Messages postés
21
Date d'inscription
mercredi 30 juillet 2008
Statut
Membre
Dernière intervention
3 octobre 2011
- - Dernière réponse : fantasio36
Messages postés
21
Date d'inscription
mercredi 30 juillet 2008
Statut
Membre
Dernière intervention
3 octobre 2011
- 24 oct. 2008 à 11:49
Salut les rois du C#,
J'ai un petit probleme de rafraichissement pour une fenetre text qui contient pas mal de donnees...En fait environ plusieurs centaines de lignes pour etre exact. Le probleme est que lorsque je rafraichi ma fenetre text, mon application se bloque certain temps pour le traitement de cette tache! Je suis equippe d'un AMD dual core assez recent, et je ne comprends pas pourquoi ca rame autant!! Quelqu'un a t il une idee de ce qui pourrait aider a ameliorer les performances d'affichage?
En fait j'ai deja procede a une petite modification qui m'a permis d'ameliorer (un peu) la vitesse de rafraichissment: je passe par un string tampon que j'ecris avec les data, puis je raffraichi ma textbox en recopiant le tampon. (textbox.text = tampon). Mais ca rame toujours beaucoup si j'ai beaucoup de donnees a afficher. Faut-il passer par un richtextbox? Ou bien y'a t il moyen d'augmenter la priorite de cette tache?

Merci d'avance,
Florent
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
41
3
Merci
Oui, c'est exacement ca.
En faisant comme tu procédes, tu utilises le Thread principal, qui est aussi celui dans lequel s'execute l'UI. Avec un autre Thread, les taches de l'UI et les taches de ton traitement s'effectueraient en parallele.
Tu peux aussi utiliser le BackgroundWorker, qui est là pour faciliter l'utilisation des threads pour ce genre de cas.
Il y a plusieurs sources a ce sujet sur Csharpfr. Par exemple :
http://www.csharpfr.com/codes/THREAD-PROGRESSBAR-EXEMPLE-SIMPLE_40294.aspx pour les thread
http://www.csharpfr.com/codes/BACKGROUNDWORKER_44725.aspx pour le BackgroundWorker

Il y en a bien d'autres, a toi de voir celles qui t'améneront a mieux comprendre le principe :)

Et je te conseille de lire un ebook gratuit consacré aux thread, conseillé par coq sur son blog

Mx
MVP C# 

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 222 internautes nous ont dit merci ce mois-ci

Commenter la réponse de MorpionMx
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
41
0
Merci
Salut,

As-tu essayé de faire ton traitement dans un autre Thread ? cela permettrait de laisser l'UI reactive

Mx
MVP C# 
Commenter la réponse de MorpionMx
Messages postés
21
Date d'inscription
mercredi 30 juillet 2008
Statut
Membre
Dernière intervention
3 octobre 2011
0
Merci
Salut, je n'ai pas essaye (je suis un peu nouveau en C# et je t'avoue que je decouvre...). Le temps d'execution serait le meme mais ca debloquerait mon ecran gele, c'est ca? Est ce que tu parles d'un backgroundworker? Est ce possible d'accelerer la vitesse de rafraichissement? (il me faut 30 secondes pour voir apparaitre les donnees...)
Merci
Commenter la réponse de fantasio36
Messages postés
21
Date d'inscription
mercredi 30 juillet 2008
Statut
Membre
Dernière intervention
3 octobre 2011
0
Merci
merci encore, je sais pas ce que je ferais sans ce forum!!
Commenter la réponse de fantasio36