yostone
Messages postés30Date d'inscriptionjeudi 22 avril 2004StatutMembreDernière intervention13 septembre 2012
-
2 janv. 2012 à 16:26
yostone
Messages postés30Date d'inscriptionjeudi 22 avril 2004StatutMembreDernière intervention13 septembre 2012
-
4 janv. 2012 à 10:25
Bonjour, je bosse sur une appli en vb6 pour une machine d'usinage et dans
une picturebox je dessine ma pièce qui s'usine en temps réel avec un outil.
J'enregistre les points de déplacement de mon outil dans un tableau en créant
une nouvelle ligne a chaque fois puis je redessine en boucle mon griniotage de pièces, vous me suivez ?
Arrivé a une 5000 eme de ligne j'ai mon processeur qui mouline et mon appli
s'accade... (normal vue que je boucle sur 5000 lignes)
J'aimerai savoir si vous avez une idée ne pas faire ramer mon appli ?
(sans changer ma config math hein :( )
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201578 2 janv. 2012 à 17:20
Salut
Oui, ajoute une centaines de lignes d'avance dès que le UBound est atteint.
Sinon, autre méthode, utilise une collection = plus rapide en ajout, par contre, plus lent en suppression.
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
yostone
Messages postés30Date d'inscriptionjeudi 22 avril 2004StatutMembreDernière intervention13 septembre 2012 3 janv. 2012 à 08:03
Merci pour vos réponses, je vais essayer de faire comme ça.
Vous pensez que même avec 10 000 ou 20 000 ligne ça ne va pas ramer ?
Au jour d'aujourd'hui vers 5 000 lignes j'ai mon processeur qui tourne
a 80 % juste pour l'appli...
yostone
Messages postés30Date d'inscriptionjeudi 22 avril 2004StatutMembreDernière intervention13 septembre 2012 3 janv. 2012 à 10:10
Je viens de tester votre idée, je pars sur un tableau de 1000 lignes puis
arrivé à 900 lignes de plus j'ajoute 1000 lignes supplémentaire.
J'ai l'air un petit peu plus rapide mais j'ai toujours mon souci de ralentissement du faite que je redessine point par point en boucle toutes
les lignes donc mon processeur arrive a saturation vers 5000 lignes :(
Je ne sais pas comment m'en sortir... une idée ?
Merci d'avance ;-)
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201578 3 janv. 2012 à 10:32
Mémoriser autant de donnée en mémoire est peut-être une mauvaise idée.
Si tu venais à dépasser la quantité de mémoire vive disponible, le système commencerait à utiliser un fichier de swap et là, les performances commenceraient sérieusement à se dégrader.
Tableau de quel type ? String, Long ?
Après un traitement complet, quelle est la taille en octets des données ainsi mémorisées ?
L'utilisation d'une base de données simple ou d'un fichier (texte ou séquentiel selon le type de données) serait peut être plus efficace pour palier à ce problème de mémoire.
Ta boucle utilise beaucoup de données, mais est-elle complexe ?
Si ce n'est pas indiscret, peux-tu nous montrer cette boucle ?
Voir si une optimisation est nécessaire.
Par exemple, si à chaque tour de calcul du affiches une donnée, tu peux, peut-être, sauter l'affichage d'une donnée sur deux ou sur dix.
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018212 3 janv. 2012 à 10:38
Bonjour,
Ce qu'exprime Renfield
pourquoi ne pas dessiner que ce qui a changé
me parait la sagesse même.
Et ce d'autant que l'image résultante résulte apparemment de "rognages" successifs.
Je me demande même, à ce propos, si ces "rognages" successifs ne se font pas de manière régulière, ce qui devrait permettre une toute autre stratégie que celle mise en oeuvre.
Mais bon ... nous ignorons pour l'instant à peu près tout du mécanisme pensé, sauf ce qui en est dit de manière non détaillée.
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
CGSI3
Messages postés416Date d'inscriptionvendredi 22 février 2008StatutMembreDernière intervention 7 janvier 20181 3 janv. 2012 à 10:41
Bonjour a tous,
Pour donner de l'air au processeur tu utilise les fonctionnalité de la carte graphique avec OpenGl ou DirectX ?
Dans ce domaine il y a aussi pas mal de chose a regarder.
CGSI3
yostone
Messages postés30Date d'inscriptionjeudi 22 avril 2004StatutMembreDernière intervention13 septembre 2012 3 janv. 2012 à 10:58
Alors je vais être plus clair, pour commencer (et je ne jete la pierre
sur personne) la fonction de rognage de brut a été développer par mon successeur.
Cette fonction je ne la touche jamais et je ne la regarde jamais non plus.
Sur l'appli c'est vraiment le plus gros des défauts remonté par les utilisateurs...
Depuis la rentrée (donc hier) je me suis pencher sur la fonction pour trouver un palliatif.
Depuis le début j'ai dans l'idée de ne pas tout redessiner car je trouve ça
complètement inutile mais pour le moment j'explore le code avec vos conseils.
Alors pour en dire plus :
j'ai un tableau avec 10 colonnes ou je stock les infos sur mon outils
quand je déplace mon outil j’incrémente une ligne en sauvegardant les
points X et Y.
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018212 3 janv. 2012 à 11:02
Comment se présente ton outil virtuel de rognage (pas la fonction, mais l'outil lui-même) ?
Comment "oeuvre"-t-il virtuellement ? par translation régulière ?
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
yostone
Messages postés30Date d'inscriptionjeudi 22 avril 2004StatutMembreDernière intervention13 septembre 2012 3 janv. 2012 à 16:26
J'ai fais un step de 10 a partir de 2000 lignes sur une plage de 1500 lignes avant la ligne en cours se qui me permet d'avoir une boucle plus rapide et pour le moment je n'ai plus de problèmes de rapidités.
Merci à vous ;-)
yostone
Messages postés30Date d'inscriptionjeudi 22 avril 2004StatutMembreDernière intervention13 septembre 2012 4 janv. 2012 à 10:25
Le rendu est plutôt bien amélioré mais je me demande si je ne devrais pas refaire le graphique avec de l'openGL ?? vous en pensez quoi ?
Je pourrais avoir le même style de fonction en openGL ?
c'est à dire une pièce dessinée point par point avec un outil
qui vient grignoter la pièce ?
(la pièce et l'outil sont à l’échelle)