Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Womit erstelle ich am besten Live-Diagramme?
PierreDole
myCSharp.de - Member



Dabei seit:
Beiträge: 44

Themenstarter:

Womit erstelle ich am besten Live-Diagramme?

beantworten | zitieren | melden

Moin, ich möchte ein Diagramm programmieren, das live mit Daten gefüttert wird, 30 mal in der Sekunde. Außerdem ist die Zeitachse auch live, d.h.
ältere Daten sollen aus dem Diagramm herausscrollen.

Was nehme ich dafür?

Canvas war meine erste Idee. Aber macht es Sinn ein Canvas mit Hunderten von Children zu fluten?

Oder doch lieber mit Bitmap arbeiten. Aber da weiß ich nicht, ob der GUI-Thread da mitkommt. Der wird jetzt schon etwas beansprucht.

Oder gibt es da noch eine ganz andere Möglichkeit?

Ahja, das ganze ist in WPF. Wobei auch hier die Frage: bietet C# für grafische Darstellungen etwas besseres an als WPF?
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von PierreDole am .
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15967

beantworten | zitieren | melden

Ein Diagramm ist für die visuelle Darstellung des menschlichen Auges gedacht.
Zitat
Aber da weiß ich nicht, ob der GUI-Thread da mitkommt. Der wird jetzt schon etwas beansprucht.

WPF versucht prinzipiell Inhalte so selten wie möglich zu aktualisieren - das kostet schließlich Resourcen; gibt es nichts, dann ist die Framerate = 0.
Ändern sich Inhalte oder existieren Animationen, dann orientiert sich die Frame-Rate nahe an der Refresh-Rate des Monitors.

Das menschliche Auge mag vielleicht 120 Hz und Co wahrnehmen, dass es kein Motion Blur gibt; aber ich bezweifle, dass Du annähernd die maximale Refresh Rate (von WPF) brauchst um die Inhalte eines Diagramms darzustellen und Dir die Möglichkeiten weit weit weit weit ausreichen.
Zitat
C# für grafische Darstellungen etwas besseres an als WPF?
C# ist eine Programmiersprache; die bietet Dir hier also gar nichts.

.NET bietet Dir aber WPF und neben WPF eben natürlich auch die Möglichkeit eigene Dinge zu zeichnen und natürlich auch sowas wie Unity.
Aber damit wirst Du wohl eher über das Ziel hinausschießen; jedenfalls mit den Infos, die Du preisgibst.
- performance is a feature -

Microsoft MVP - @Website - @blog - @AzureStuttgart - github.com/BenjaminAbt
private Nachricht | Beiträge des Benutzers
Papst
myCSharp.de - Experte



Dabei seit:
Beiträge: 368
Herkunft: Kassel

beantworten | zitieren | melden

Wenn es "nur" ein Chart ist (also z.B. LineChart), da brauchst du das nicht selber programmieren und zeichnen. Dafür gibt es zuhauf fertige Bibliotheken, die dir das abnehmen.

OxyPlot, D3, ...
private Nachricht | Beiträge des Benutzers