1. #1
    Membre à l'essai
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    novembre 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : novembre 2015
    Messages : 10
    Points : 10
    Points
    10

    Par défaut Optimisation : gestion d'un message ou timer ?

    j'ai deux applications qui communiquent via des messages (windows).
    Chacune d'elle utilise un timer qui utilise des ressources.
    L'envoi d'un message, géré par l'évènement ontimer de la première application, à la seconde application me permettrait de supprimer le timer de cette dernière.
    Je me demande si cela serait plus économique en utilisation des ressources ?

  2. #2
    Membre confirmé

    Homme Profil pro
    Autre
    Inscrit en
    novembre 2015
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : novembre 2015
    Messages : 127
    Points : 529
    Points
    529

    Par défaut

    A priori, l'utilisation d'un Timer Windows au sein d'une application n'est, sauf cas très particulier, pas très consommateur de ressources. A moins d'avoir beaucoup d'instances d'une telle application, etc... (et encore).

    Bien entendu, vous pourriez vous contenter d'envoyer/recevoir les données entre vos applications via les messages Windows: en fait, je ne vois pas très bien à quoi peut vous sert un tel Timer au niveau de la réception des données ? Mais j'ai peut-être mal compris votre question ...


    Pour information, il existe déjà une telle fonctionnalité au sein de Free Pascal, avec 2 composants associés sous Lazarus: Free Pascal SimpleIPC (cf. https://www.freepascal.org/docs-html/fcl/simpleipc/), avec les composants TSimpleIPCServer et TSimpleIPCClient sous Lazarus.

    En pièce jointe, un petit exemple de serveur et de client l'utilisant (utilisation interne -i.e. transparente pour le programmeur- du message Windows WM_COPYDATA, sans Timer -sauf erreur de ma part-).

    TSIPCSample.zip

    Nom : TSIPCSampleCapture.png
Affichages : 38
Taille : 104,8 Ko


    PS. Comme indiqué dans la documentation, cela ne fonctionne pas entre un service et une application bureau. Si cela était nécessaire (mais ce ne semble pas être votre cas), il faudrait se rabattre sur un autre type d'IPC : en général des pipes avec l'utilisation d'events.

  3. #3
    Rédacteur/Modérateur
    Avatar de Andnotor
    Profil pro
    Inscrit en
    septembre 2008
    Messages
    4 543
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : septembre 2008
    Messages : 4 543
    Points : 9 436
    Points
    9 436

    Par défaut

    L'utilisation de timers dépend beaucoup du but recherché.

    L'émetteur peut envoyer des données suite à un événement (sans timer) ou envoyer régulièrement son état (avec timer).
    Le récepteur peut traiter chaque envoi (sans timer) ou les regrouper pour les traiter d'un bloc (avec timer), voire ne traiter que le dernier.

    Mais démarrer un timer à intervalle très court sur la réception d'un message pour ne traiter que celui-là a peu d'intérêt puisqu'il ne fait rien d'autre que générer un nouveau message du type WM_TIMER.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    novembre 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : novembre 2015
    Messages : 10
    Points : 10
    Points
    10

    Par défaut

    J'ai bien pris note de vos remarques.
    Visiblement, la suppression d'un timer ne me fera pas économiser de la ressource de manière significative. je ne modifierai donc pas mon programme.
    MERCI du temps que vous m'avez consacré

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Gestion de stock : Message d'alerte
    Par ggdu76560 dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 25/09/2015, 18h45
  2. [WD17] Gestion des langues (message d'erreur et interface)
    Par cladoo dans le forum WinDev
    Réponses: 0
    Dernier message: 12/10/2012, 10h51
  3. [PHP 5.3] Gestion des erreurs. Message personnalisé
    Par RunCodePhp dans le forum Langage
    Réponses: 4
    Dernier message: 07/02/2010, 18h27
  4. [optimisation] Gestion mémoire
    Par BSans dans le forum C
    Réponses: 5
    Dernier message: 20/11/2009, 16h46
  5. Gestion centralisée des messages windows
    Par piiwhy dans le forum Delphi
    Réponses: 1
    Dernier message: 28/06/2006, 13h19

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