Lenteur d'affichage windows form (.Net)

Signaler
Messages postés
506
Date d'inscription
vendredi 30 juillet 2004
Statut
Membre
Dernière intervention
3 mars 2008
-
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
-
Bonjour tout le monde :)

Je développe un média center en .Net.
Chaque écran de mon applicaiton est un user control (musique, vidéo ...)
Chaque écran possède une image de fond pour le user control, et des picture box par dessus qui correspondent aux différents boutons (play, stop ....)
Chaque bouton cointient une image avec de la transparence.

Mon pb est le suivant: l'affichage du formulaire est vraiment lent et saccadé: le fond s'affiche, les emplacements des controls restes vide et les controls apparaissent au fure & a mesure.

Je souhaiterais qu'au lieu d'afficher les éléments 1 par 1, que tout soit affiché d'un coup.

- J'ai essayé d'optimiser la taille de l'image de fond: rien ne change (mm avec une image de 1 ko ! )
- J'ai pensé au double buffering, ca ne change rien (et apres réflexion, ce n'est pas fait pour ca)
- J'ai essayé de surcharger la méthode onpaint pour afficher moi mm l'image de fond, rien n'y change

Je pensais à un truc du style: le form se déssine en RAM et une fois qu'il a finit, il affiche tout d'un coup au lieu de traiter élément par élément....

Bref; si vous avez une idée ca m'interresserait bcp

Voila, merci d'avance :)

Rollerman

4 réponses

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
133
C'est justement le principe du Double-Buffering : on charge d'abord en mémoire avant d'afficher l'image finale.
Je ne connais pas .net, donc je pourrais pas t'aider, mais l'idée du Double-Buffering doit être la bonne.
Messages postés
506
Date d'inscription
vendredi 30 juillet 2004
Statut
Membre
Dernière intervention
3 mars 2008
2
ben le pb c'est que le double buffering ne change rien: j'ai toujours l'affichage en plrs phases:
1. affichage de l'image de fond
2. affichage des ctrls un par un ...

:(

Rollerman
Messages postés
506
Date d'inscription
vendredi 30 juillet 2004
Statut
Membre
Dernière intervention
3 mars 2008
2
info supplémentaire: la lenteur vient du fait que je définit les controles de mon formulaire avec un fond transparent.
SI je met une couleur fixe à la place, aucun problème de lenteur;....

grrrrrrr

Rollerman
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
133
Oui c'est logique, la transparence prends pas mal de temps de calcul !