.NET minuterie contrôle l'exécution plus rapide lorsque la fenêtre est réduite au minimum

StackOverflow https://stackoverflow.com/questions/2166773

Question

Il est en fait une différence notable que je l'ai vu, mais ne peux pas expliquer. Ces compteurs ont des intervalles mis à 1ms (le plus bas), mais alors qu'il est réduit au minimum, il semble cocher plus rapide? Quelqu'un pourrait-il expliquer ce phénomène à moi? Et si possible, expliquer comment reproduire l'effet alors que la fenêtre est agrandie?

Était-ce utile?

La solution

Est-ce un Forms.Timer?

Je doute qu'il est en cours d'exécution plus rapide, plus probable que l'événement de tir de la minuterie est traitée d'une manière plus opportune. Alors que Minimized il y aura vraisemblablement moins de messages traités par la pompe de message de la fenêtre de formulaire, ce qui pourrait représenter une tranche de temps plus grande pour gérer les messages de minuterie. Il y a aussi la isue de la résolution minimale de la temporisation.

Le cas échéant, essayez d'utiliser l'un des autres types de minuterie, tels que System.Timers

  

Le Windows Forms composant Timer est   seul thread, et est limité à un   précision de 55 millisecondes. Si vous   besoin d'une minuterie multithread avec   une plus grande précision, utilisez la classe minuterie   dans l'espace de noms System.Timers.

Ref .

Autres conseils

minimum résolution que vous pouvez sortir d'un System.Windows.Forms.Timer (que je suppose est ce que vous utilisez ici) Si je me souviens bien, est de 55 ms. Cadre à 1 ms signifie essentiellement que les tiques en continu.

Bien sûr, une minuterie ne garantit pas que les tiques arrivera exactement l'intervalle spécifié. Si votre application est occupé à faire d'autres choses (comme redessiner l'écran), il peut prendre quelques ms, ou beaucoup plus sous forte charge. Si la minuterie est réglée à un intervalle de 1 seconde, vous remarquerez pas vraiment, mais à la fenêtre minimale (55 ms), vous pourriez.

Lorsque l'application est réduite au minimum, il y a moins d'autres événements qui peuvent interrompre les événements de minuterie avant le feu.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top