Lenteur d'affichage windows form (.Net)

olixelle Messages postés 506 Date d'inscription vendredi 30 juillet 2004 Statut Membre Dernière intervention 3 mars 2008 - 6 sept. 2006 à 10:04
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 6 sept. 2006 à 11:08
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

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
6 sept. 2006 à 10:38
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.
0
olixelle Messages postés 506 Date d'inscription vendredi 30 juillet 2004 Statut Membre Dernière intervention 3 mars 2008 2
6 sept. 2006 à 10:49
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
0
olixelle Messages postés 506 Date d'inscription vendredi 30 juillet 2004 Statut Membre Dernière intervention 3 mars 2008 2
6 sept. 2006 à 11:07
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
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
6 sept. 2006 à 11:08
Oui c'est logique, la transparence prends pas mal de temps de calcul !
0
Rejoignez-nous