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

WinDev Discussion :

Graph en temps réel: Ralentissement


Sujet :

WinDev

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Graph en temps réel: Ralentissement
    Bonjour

    Mon application recupère des valeurs sur le port RS232 via un thread.
    C'est valeur sont envoyées au processus principal de l'appilcation où je trace ces valeurs dans un graphique en nuage de points avec les coordonnées X et Y.
    Mon problème vient du nombre de points que je trace à la seconde (10 par seconde ).
    En effet au bout d'un certain temps (15 min) le tracé de mon graph ralentit l'application. Pour tracer mon graphique j'utilise une boucle avec une temporisation pour redonner la main à l'application.
    Dans cette boucle j'ajoute les nouveaux points et je redessine le graph (grdessine).

    J'aimerais savoir si il est possible de trouver une solution pour que le traceé du graph ne ralentisse pas autant mon application en gardant une resolution suffisante.

    Merci d'avance pour votre aide

  2. #2
    Membre expérimenté Avatar de klbsjpolp
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 065
    Points : 1 322
    Points
    1 322
    Par défaut
    Bonjour,

    Si un ralentissement se fait sentir après un certain temps, ça peut être du à des fuites mémoire. Tu peux tenter de voir si tu ne crées pas trop de variable dans ton code. Le problème peut évidemment venir de fuite dans le code de Windev, dans ce cas tu peux essayer de passer outre mais il n'y a pas grand chose à faire. Le mieux serait donc de voir si la mémoire de ton application augmente avec le temps et si tu peux trouver un algorithme de dessin qui évite les fuites.

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Apparemment le problème vient de la fonction Grdessine qui utilise toutes les ressources du processeur pour réafficher le graphique en boucle lorsque celui ci possède de nombreux points. Je n'ai pour l'instant pas trouvé de solution pour régler ce pb

  4. #4
    Membre expert
    Avatar de mail.spam
    Homme Profil pro
    Développeur Windev et technicien maintenance
    Inscrit en
    Janvier 2008
    Messages
    1 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Windev et technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 914
    Points : 3 801
    Points
    3 801
    Par défaut
    Bonjour,

    Puisque tu utilise un graphe en nuage de point, une solution serai de faire ton graphe dans un champ image. Ainsi tu ne redessinera pas tous les points à chaque fois mais tu ajoute seulement le nouveau point.

    Sinon si tu n'as pas besoin de voir tout le graphe depuis le début, tu défini une zone à afficher, exemple 5000 points, puis tu supprime les valeurs plus ancienne.
    ainsi tu n'auras toujours que 5000 points à afficher dans ton graphe.

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Bonjour

    J'ai testé les deux solutions:
    - si on affiche que 5000 points par exemple et effaçant le dernier avec l'ajout du nouveau cela marche très bien, malheureusement j'ai besoin d'afficher entièrement le graph
    - La solution de dessiner le graph dans un champ image me pose le même problème car pour tracer le graph j'utilise grdessine dans ma boucle et le problème est le même que je sois dans un champs graph ou que je sois dans un champs image: les points sont recalculés. Mais peut être que tu voulais dire de dessiner le graph avec les fonctions de dessin?

    Merci pour vos réponses.

  6. #6
    Membre expert
    Avatar de mail.spam
    Homme Profil pro
    Développeur Windev et technicien maintenance
    Inscrit en
    Janvier 2008
    Messages
    1 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Windev et technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 914
    Points : 3 801
    Points
    3 801
    Par défaut
    Oui je voulais dire de redessiner le graphe avec les option de dessin.
    Par contre je ne sais pas comment tu peux gérer l'affichage sur la durée.
    Au bout d'un moment ton graphe va dépasser de l'image. Il faut peut être utiliser les ascenseurs?

Discussions similaires

  1. Réponses: 5
    Dernier message: 29/05/2012, 16h24
  2. [JFreeChart] graphe en temps réel
    Par lasvegas_parano dans le forum 2D
    Réponses: 2
    Dernier message: 08/06/2011, 17h00
  3. Graphe en temps réel
    Par fiboulle dans le forum Visual C++
    Réponses: 10
    Dernier message: 30/01/2010, 13h12
  4. [AJAX] les graphe en temps réel
    Par prg12 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 10/01/2007, 13h38
  5. Graphes en temp réel
    Par prg12 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 10/01/2007, 13h22

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