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 :

Affichage + lecture de données GPS : utilisation d'un deuxième thread ou non ?


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 122
    Par défaut Affichage + lecture de données GPS : utilisation d'un deuxième thread ou non ?
    Bonjour à toutes et à tous,

    Dans l'application GPS que je crée, la partie graphique prend plus de temps que prévu et de ce fait, bloque la lecture du flux d'information du GPS (via BlueTooth associé à un port série).

    J'ai trouvé une parade, qui consiste à vider le tampon de lecture du GPS quand la taille des infos non lues dépasse un certain niveau.

    On va dire que ça fonctionne, mais cela ne me satisfait pas vraiment.

    Je me pose la question de l'utilité d'un thread dans ces conditions.

    Le thread principal ferait tourner la partie graphique et, dans le thread secondaire, la lecture des infos GPS se ferait au rythme des envois par le GPS ; je stockerais dans un emplacement mémoire les infos qui m'intéressent, à chaque fois qu'elles arrivent.

    Après chaque mise à jour du graphique dans le thread principal, je viendrais lire, dans le thread secondaire, les infos que j'ai stockées pour les utiliser pour une nouvelle mise à jour du graphisme dans le thread principal.

    Est-ce que cela vous paraît convenable.

    NOTA : je n'ai jamais fait joujou avec les threads.

    Cordialement.

    Pierre

  2. #2
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 489
    Par défaut
    salut

    j'aurais fait l'inverse ... le graphisme est conditionné par l'arrivé de donnée gps
    je ne vois pas a quoi sert ton thread principal pour gerer le graphisme



    un exemple sympa ici

  3. #3
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 166
    Billets dans le blog
    9
    Par défaut
    Bonjour ! Ça me paraît être une bonne idée.

    Soit dit en passant, il y a peut-être moyen d'améliorer les performances de la partie graphique ?

  4. #4
    Membre émérite
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 122
    Par défaut
    Citation Envoyé par Roland Chastain Voir le message
    ... il y a peut-être moyen d'améliorer les performances de la partie graphique ?
    C'est ce que j'aimerais faire. J'ai montré ce qu'elle est dans le fil que j'ai créé sur le clipping.

    Cordialement.

    Pierre

  5. #5
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 166
    Billets dans le blog
    9
    Par défaut
    Après lecture de l'autre discussion, le temps d'exécution de la partie graphique me paraît normal. Donc effectivement, pourquoi pas deux processus. Maintenant, quoi mettre dans lequel, j'ai un doute après avoir lu le message d'anapurna.

  6. #6
    Membre émérite
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 122
    Par défaut
    Citation Envoyé par Roland Chastain Voir le message
    Après lecture de l'autre discussion, le temps d'exécution de la partie graphique me paraît normal. Donc effectivement, pourquoi pas deux processus. Maintenant, quoi mettre dans lequel, j'ai un doute après avoir lu le message d'anapurna.
    J'ai cru comprendre qu'un thread secondaire ne pouvait pas traiter de l'affichage ?

    "One of the threads is called the Main Thread. The Main Thread is the one that is created by the Operating System once our application starts. The Main Thread must be the only thread that updates the components that interfaces with the user: otherwise, the application may hang."

    Cordialement.

    Pierre

  7. #7
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 166
    Billets dans le blog
    9
    Par défaut
    En effet, le thread secondaire ne peut pas agir directement sur l'affichage : il doit le faire au moyen de la méthode Synchronize ou d'une autre méthode équivalente.

Discussions similaires

  1. Utiliser les données GPS
    Par mohsenuss91 dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 04/11/2013, 09h27
  2. Affichage des données en utilisant des Grids
    Par danoi18 dans le forum C#
    Réponses: 0
    Dernier message: 11/01/2013, 17h29
  3. Lecture fichier .txt et utilisation des données
    Par halloumiali dans le forum AWT/Swing
    Réponses: 8
    Dernier message: 08/03/2012, 17h10
  4. [MySQL] Lecture de données de la BDD et utilisation de ces données
    Par craac dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 03/12/2007, 15h10
  5. Réponses: 1
    Dernier message: 18/07/2007, 18h44

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