Meilleur auteur de réponses
Comment optimizer l'usage de polyline en wpf.

Question
-
Bonjour a tous,
Je viens de debuter l'etude de developpement graphique en WPF.
Ci-dessous un example pour afficher une serie de points dans un canvas en wpf.
public Polyline NormalizedValues(Polyline pl) { Polyline result = new Polyline(); for (int i = 0; i < pl.Points.Count; i++) { Point pt = pl.Points[i]; Point npt = NormalizedValue(pt); result.Points.Add(npt); } return result; } public Point NormalizedValue(Point pt) { Point npt = new Point(); npt.X = (pt.X - _ca.xMin) * chartCanvas.Width / (_ca.xMax - _ca.xMin); npt.Y = chartCanvas.Height - (pt.Y - _ca.yMin) * chartCanvas.Height / (_ca.yMax - _ca.yMin); return npt; } public void Draw() { // Clean the chart area. chartCanvas.Children.Clear(); foreach (Trace tr in _Traces) { Polyline Normalized = NormalizedValues(tr.Values); Normalized.Stroke = tr.Color; chartCanvas.Children.Add(Normalized); } }
Si je reste dans un rayon de +-100 points, l'affichage en boucle est tres fluide.
Dans le cas de 1024 poiints, le temps daffichage diminue fortement.
Comment pourrais-je ameliorer la performance de l'usage de polyline ? Pourriez-vous m'expliquer la technique la plus utilisee en wpf dans le domaine des graphiques 2d ? Je souhaiterais obtenir des informations, liens a ce sujet pour me permettre de comprendre la meilleure approche pour afficher la serie de points le plus rapidement possible.
Je vous en remercie d'avance.
Bien a vous.
MiQi
Réponses
-
Bonjour,
C'est un peu difficile sans connaître le contexte. L'idée générale est souvent d'en faire le moins possible. Serait-il possible de modifier le graphique plutôt que de le recréer de A à Z comme on le semble faire ici ?
Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
- Proposé comme réponse Aurel Bera lundi 5 novembre 2012 10:07
- Marqué comme réponse Aurel Bera mardi 6 novembre 2012 14:17
Toutes les réponses
-
Bonjour,
C'est un peu difficile sans connaître le contexte. L'idée générale est souvent d'en faire le moins possible. Serait-il possible de modifier le graphique plutôt que de le recréer de A à Z comme on le semble faire ici ?
Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
- Proposé comme réponse Aurel Bera lundi 5 novembre 2012 10:07
- Marqué comme réponse Aurel Bera mardi 6 novembre 2012 14:17
-
Bonjour,
Est-ce que vous avez testé les solutions proposées ? Merci de partager avec nous les résultats, afin que d'autres personnes avec le même problème puissent profiter de cette solution.
Cordialement,
Aurel
-
Bonjour,
Pouvons-nous considérer que vous avez résolu votre problème avec les scénarios proposés ? Dans l'affirmative, pourriez-vous partager avec nous la solution, afin que d'autres personnes avec le même problème puissent profiter de cette solution ?
Désormais, nous marquons les solutions proposées. N'hésitez pas à revenir et supprimer la réponse marquée si la solution n’est pas correcte. Merci !
Cordialement,
Aurel