-
Fluidité de l'IHM
Salut,
Je développe une application WinForms en C#. J'utilise beaucoup (relativement) de Timer (des System.Threading.Timer, pas de System.Windows.Forms.Timer)
Le problème, c'est que l'interface saccade (quand je la bouge d'endroit par exemple), le dropDown d'un ComboBox n'est pas fluide, on dirait qu'il est au ralenti ....
Mes Timers s'exécutent à intervalle de 15 Minutes (minutes pas secondes ni millisecondes) mais l'interface est toujours saccadée. Dès que j'arrête mes Timers, l'IHM retrouve sa fluidité.
J'ai essayé avec et sans le double buffering sans résultat ... :aie:
Auriez vous une idée ...
Merci
Edit :
A l'arrêt (sans la faire bougé), l'application utilise 1% du processeur, dès que je déplace la fenêtre d'endroit, ça grimpe à 45 voir 55% ...
Quand j'essaye d'ouvrir les éléments d'un comboBox, elle passe à 12%
Évènement OnPaint???
Edit 2 :
Alors le problème semble subvenir même sans Timer, mais avec l'utilisation du composant ObjetListView qui ma foie est très intéressant, ça serait dommage de s'en priver ...
-
Pour moi ton problème pourrait se résoudre en utilisant dans ta form System.Windows.Forms.Timer et pas un timer de thread
S'il existe les 2 c'est qu'il y a une raison.
-
Bon, mon 2ème édit était le bon :mrgreen:
J'ai switché il y a deux jours à la version 2.4 de ObjectListView c'est pour ça que je ne me suis rendu compte du saccadage de l'application que maintenant.
Je viens de remettre la version 2.2 (heureusement j'en ai gardé une copie :mrgreen:) et tout remarche nickel.
En ce qui concerne le choix de System.Threading.Timer, s'est fait après le test non concluant des System.Windows.forms.Timer. Mon test est peut être erroné, mais pour mon cas, l'utilisation des Thread a donner un meilleur résultat.