Alucard_W
Messages postés10Date d'inscriptionmardi 29 mars 2005StatutMembreDernière intervention 6 janvier 2009
-
23 juil. 2008 à 21:48
youpiyoyo
Messages postés539Date d'inscriptionvendredi 6 juin 2003StatutMembreDernière intervention14 juillet 2010
-
24 juil. 2008 à 17:22
Bonjour,
J'ai un soucis de scintillement de mon application VB.net sur mon PC.
L'application à été réalisée et distribuée sous forme d'un instal.
L'application fonctionne très bien, mais il y a un phénomène de scintillement sur des contrôle (onglet de tabstrip, label ....).
Ce scintillements apparaissent lors du formload ainsi qu'au passage du curseur de la souris sur les contrôles.
Avez-vous déjà u ce genre de phénomènes ?
Pouvez-vous m'aidez à le résoudre ?
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 201137 23 juil. 2008 à 22:55
Salut,
Avec le si peu d'informations envoyées c'est compliqué de répondre.
Il sera intéressant de savoir
1 --> La structure de ta form
2 --> Si ton application utilise des paint
3 --> Les types et nombre de controle sur ta page
4 --> Si ton application utlise des requetes a une base de données longue
Apres plusieurs solutions existent :
1 --> Optimisation de la forme (ne charger que les controles visibles)
2 --> DoubleBuffering
3 --> Chargement asynchro
4 --> Optimisation Chargement des données (ne pas charger toutes les données utilisation de cache)
5 --> Utilisation du multithreading plus poussez que l'asynchronisme
6 --> Optimiser les requetes à la base de données
7 --> Eviter de modifier ou de faire de requetes dans les evenements de souris
(exemple faire une requete en base de données sur un mousemove
---> quelques mieux de requetes car la souris bouge beaucoup)
8 --> Eviter de modifier les tooltips dans les evenements de la souris (j'ai cru voir un post dessus ce probleme sur le forum)
9 --> Changer de machine ;-)
10 --> Divers
11 --> Etc
Alucard_W
Messages postés10Date d'inscriptionmardi 29 mars 2005StatutMembreDernière intervention 6 janvier 2009 24 juil. 2008 à 09:14
Merci d'être aussi réactif ;)
Je ne peux malheureusement donner plus de détail.
L'application utilise effectivement beaucoup d'image (background, schémas....)
Et certaines page contiennent effectivement de nombreux contrôles : Dans certaines forms j'ai des labels, textbox, ... dans des onglets de tabstrip.
Je n'ai pas connexion à une base de données, j'utilise des fichiers (XML) pour sauver les config, enregistrements ..
J'ai aussi beaucoup de contrôle utilisant la transparence en background.
Pour ce qui est de la machine, j'ai remarqué qu'il y avait mois de scintillement sur mon PC portable (DELL lattitude centrino) mon PC de bureau (DELL optiplex P4 3GHz). Par contre sur la machine finale (DELL core 2 duo 3GHz - 2Go RAM) l'application scintille beaucoup sur les contrôles (surtout au passage de la souris).
youpiyoyo
Messages postés539Date d'inscriptionvendredi 6 juin 2003StatutMembreDernière intervention14 juillet 2010 24 juil. 2008 à 09:27
Salut,
peut-être une superposition d'objets dans ta form sur le Z-order. le paint peut être la cause ou la transparence, sachant que la transparence n'est pas super géré en vb.net
@+
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 201137 24 juil. 2008 à 09:33
Effectivement,
c'est tres compliqué de voir le probleme sans plus de précision.
Regardes bien, en regardant les quelques pistes que je t'ai donné si c'est pas mieux.
Essaie activé/désactivé les controles au fur et a mesure pour voir lesquels sont les moins performant.
C'est quoi les schémas (une bibliotheque interne ou autre chose)
Peux-tu isoler leur utilisation (dans une autre appli) pour voir si ca ne vient pas de la le probleme?
En surveillant surtout le rendu et les evenements de la souris.
Alucard_W
Messages postés10Date d'inscriptionmardi 29 mars 2005StatutMembreDernière intervention 6 janvier 2009 24 juil. 2008 à 15:19
Merci de vous investir dans mon problème.
J'ai donc lancé les pistes que vous m'aviez recommandées avec mon collègue ce matin.
Apparemment rien qu'en supprimant le background de toutes les frm (un wallpaper maison au format jpeg), les scintillements ont disparus. Même en conservant les autres objets avec leur transparence.
ça solutionne mon problème pour l'instant (du point de vue utilisateur c'était pas térrible).
Dommage pour le fond de page, ça donnait une valeur ajoutée à l'application.
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 201137 24 juil. 2008 à 15:28
Regardes si tu n'a pas une autre solution pour appliquer l'image de fond.
Exemple dans le Paint form ou en utilisant un controle image derriere tes controles.
Tu le mets devant et apres tu fais un sendtoback dans le code chargement.
youpiyoyo
Messages postés539Date d'inscriptionvendredi 6 juin 2003StatutMembreDernière intervention14 juillet 2010 24 juil. 2008 à 17:22
il y a une solution, refaire ton Paint et reutiliser les api windows.
J'ai lu quelques part que pour faire la transparence en .net il copie le background de départ quand il charge la form, c'est pour cela que tu ne peux pas faire de superposition de imagebox (ou control en géneral) avec de la transparence. c'est nul mais c comme cela. et il me semble que ce défaut n'est pas corrigé avec .net 3.5 a vérifier.
@+
youpi :)