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

Lazarus Pascal Discussion :

Optimisation : gestion d'un message ou timer ? [Lazarus]


Sujet :

Lazarus Pascal

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Novembre 2015
    Messages
    23
    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 : 23
    Points : 34
    Points
    34
    Par défaut Optimisation : gestion d'un message ou timer ?
    J'ai deux applications qui communiquent via des messages (windows).
    Chacune d'elles 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
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Novembre 2015
    Messages : 145
    Points : 625
    Points
    625
    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 : 376
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
    Inscrit en
    Septembre 2008
    Messages
    5 685
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 685
    Points : 13 102
    Points
    13 102
    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
    Nouveau membre du Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Novembre 2015
    Messages
    23
    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 : 23
    Points : 34
    Points
    34
    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