IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

Traitement à intervalle régulier


Sujet :

MFC

  1. #1
    Membre régulier Avatar de jagboys
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 166
    Points : 111
    Points
    111
    Par défaut 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.

  2. #2
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Points : 2 757
    Points
    2 757
    Par défaut 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 , 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

  3. #3
    Membre régulier Avatar de jagboys
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 166
    Points : 111
    Points
    111
    Par défaut Timer
    Bonsoir,
    Merci bien pour l'explication. L'idée du timer pour mettre à jour l'heure convient très bien car la fréquence de mise à jour est d'une seconde. Les timers répondent bien dans cette intervalle.
    Si on veut par exemple faire des tâches toutes les 30 à 50 ms, comment pourrait on envisager ?
    Merci d'avance.

Discussions similaires

  1. [Thread] Traitement lourd a intervale régulier
    Par anthyme dans le forum Silverlight
    Réponses: 7
    Dernier message: 03/05/2008, 20h34
  2. Déclenchement d'évènement à intervalle régulier
    Par Jacques Deyrieux dans le forum Débuter
    Réponses: 1
    Dernier message: 04/06/2006, 10h16
  3. Réponses: 4
    Dernier message: 15/05/2006, 13h38
  4. [TOMCAT][SERVLETS] Traiments en batch a intervalles régulier
    Par azpublic dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 21/03/2006, 11h06
  5. Réponses: 4
    Dernier message: 25/02/2006, 15h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo