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

Signaler
Messages postés
21
Date d'inscription
mercredi 30 juillet 2008
Statut
Membre
Dernière intervention
3 octobre 2011
-
Messages postés
21
Date d'inscription
mercredi 30 juillet 2008
Statut
Membre
Dernière intervention
3 octobre 2011
-
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

4 réponses

Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
45
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# 
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
45
Salut,

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

Mx
MVP C# 
Messages postés
21
Date d'inscription
mercredi 30 juillet 2008
Statut
Membre
Dernière intervention
3 octobre 2011

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
Messages postés
21
Date d'inscription
mercredi 30 juillet 2008
Statut
Membre
Dernière intervention
3 octobre 2011

merci encore, je sais pas ce que je ferais sans ce forum!!