2008-10-07 12 views
7

Ich muss eine digitale Oszilloskop-Anwendung schreiben. Es gibt viele große statische Graphiksteuerelemente da draußen, aber ich brauche etwas, das 16 Spuren mit 4000 Abtastungen pro Sekunde graphisch darstellen kann.High-Speed-Grafiksteuerung für .NET (oder MFC)?

Kennt jemand eine Hochgeschwindigkeitsgraphiksteuerung für .NET? Ich werde sogar MFC nehmen, da dies in ein .NET-Steuerelement verpackt werden kann.

Danke für die Hilfe!

Antwort

1

Haben Sie sich GraphViz angesehen? Ich habe gesehen, dass es in Oszilloskop-Anwendungen verwendet wird, aber ich bin nicht davon überzeugt, dass es mit der Geschwindigkeit zurechtkommt, die Sie suchen. GraphViz verwendet keine Anweisungen wie einige der GDI + -Steuerelemente, die ich gesehen habe. Es gibt einige .NET wrappersfor it.

5

Wie wäre es mit ZedGraph? Sie erwähnen Echtzeit-Anwendungen, die speziell hier:

http://zedgraph.org/wiki/index.php?title=Display_Dynamic_or_Real-Time_Data

Sie behaupten, mindestens ~ 20 Proben pro Sekunde.

Mit 4000 Samples pro Sekunde glaube ich nicht, dass Sie alle Punkte in Echtzeit zeichnen wollen, da Sie es in 0,25 Sekunden über den ganzen Bildschirm schaffen werden ...

0

Die Grafik Rednering (Punkte und Linien auf einem Widget) ist ziemlich einfach - Sie könnten dies mit rohen Win32 a la Petzold tun.

1

Sie können einen Blick auf QCRTGraph Kontrolle werfen. Sie können sich auch diese CodeGuru project ansehen.

Obwohl, ehrlich gesagt, mit Ihren Anforderungen könnten Sie besser dran sein, Ihre eigene C++ - Implementierung davon zu tun. Mit nur 0,25 ms pro Sample ist das Sperren und Aktualisieren des Puffers einer Drittanbietersteuerung zu teuer für Sie.

2

DirectX verwendet, um .NET-Bindungen (nicht sicher über die aktuelle Version) zu haben. Es beinhaltet Unterstützung für leistungsstarke 2D- und 3D-Grafiken. Wenn irgendetwas unter Windows Ihren Anforderungen entspricht, wird es DirectX sein.

+0

Sie haben Recht. Ich dachte DirectX aus Leistungsgründen.Ich möchte einfach nicht meine eigene Kontrolle schreiben müssen, wenn ich die Implementierung von jemand anderem benutzen kann. – Kevin

1

würde ich eine National Instruments Lösung für .NET empfehlen. National Instruments hatte immer eine führende Position in der Datenerfassung und Gerätesteuerung. Sie haben eine Bibliothek zum Chartern/Graphen in .NET, aber es ist kommerziell.

+0

Ich werde das NI Measurement Studio übernehmen. Ich habe 1000 Punkte/Sek. Mit der Diagrammsteuerung von NI Measurement Studio gezeichnet. Dieser Test wurde auch auf einem Laptop mit einer sehr lausigen Grafikkarte durchgeführt. AFAIK, Measurement Studio verwendet OpenGL intern. –

0

Sie können sich Steema Teechart (http://www.steema.com/teechart/net) ansehen. Ich muss hinzufügen, dass ich keine praktische Erfahrung mit sehr hoher Verarbeitungsgeschwindigkeit habe.