Traitement à intervalle régulier
Bonjour,
Je suis en train de faire une petite application qui envoie un message tous les x secondes. Pour celà j'ai voulu mettre en place un timer. En cherchant à comprendre l'utilisation des timers j'ai lu un article :
http://bob.developpez.com/tutapiwin/article_29.php
L'article dit que les timers dégradent les performances et chargent le cpu.
Dans mon cas comment pourrait on envisager de faire ?
D'autre part sur mon interface graphique j'aimerais bien afficher l'heure du système. Comment mettre à jour le texte tous les secondes ?
Merci d'avance.
Re: Traitement à intervalle régulier
Salut,
Citation:
Envoyé par dans le tuto de bob, il y
Les 'timers' ne conviennent qu'à des résolutions de temps faibles, en général pas plus de 10 Hz. Un message est envoyé à intervalles réguliers à une fenêtre spécifiée. L'utilisation des timers pour des fréquences trop importantes peut nuire aux performances générales du système du fait des nombreux messages à envoyer. De plus, le temps de traitement des messages fait qu'il est impossible d'obtenir des intervalles réguliers inférieurs à 50ms. Les timers ne constituent donc qu'une méthode simple pour synchroniser un programme dans des conditions assez restreintes. Cependant, ils conviennent pour la plupart des applications bureautiques.
Ce qu'il dit, c'est qu'un timer envoie un message toutes les N secondes, donc il ne faut pas que N soit trop petit sinon il y a un trop grand nombre de messages à traiter. Si on se tient à N >= 1/10Hz = 1seconde, alors ça va. Entre 0.05 et 1 seconde, c'est limite. En dessous de 0.05s, c'est pas la peine.
Citation:
Envoyé par jagboys
j'aimerais bien afficher l'heure du système. Comment mettre à jour le texte tous les secondes ?
Merci d'avance.
avec un timer :D, tu associes un CString au static (par exemple) sur lequel tu veux afficher l'heure. tu fais un SetTimer sur le timer dans OnInitDialog ou OnInitialUpdate, tu captes le message ON_WM_TIMER et tu implémentes OnTimer
http://c.developpez.com/faq/vc/?page=CWnd#SetTimer