Reputation: 25947
I need to write a digital oscilloscope type application. There are many great static graphing controls out there, but I need something that can graph 16 traces processing 4000 samples per second.
Is anyone aware of a high speed graphing control for .NET? I'll even take MFC since that can be wrapped into a .NET control.
Thanks for the help!
Upvotes: 6
Views: 6960
Reputation: 1612
You may want to take a look at Steema Teechart (http://www.steema.com/teechart/net). I must add that I do not have any hands-on expericience with very high speed processing.
Upvotes: 0
Reputation: 2037
I would recommend a National Instruments solution for .NET. National Instruments always had a leading position in data acquisition and instrument control. They have a library for charting/graphing in .NET however it is commercial.
Upvotes: 1
Reputation: 11607
Check out this question. I highly recommend IOComp for both MFC (ActiveX) and .Net. Very fast and stable.
Upvotes: 1
Reputation: 5781
I'd recommend the Universal Real-Time Software Oscilloscope GUI DLL Library. It's only a DLL, but is capable of high performance. Take a look at the example applications.
Upvotes: 1
Reputation: 86492
DirectX used to have .NET bindings (not sure about current version). It includes support for high-performance 2D and 3D graphics. If anything on Windows can meet your requirements, it will be DirectX.
Upvotes: 2
Reputation: 76021
You can take a look at QCRTGraph control. You can also look at this CodeGuru project.
Though, honestly, with your requirements you might be better off doing your own C++ implementation of it. With only 0.25ms per sample, locking and updating the buffer of any third party control is too expensive for you to afford.
Upvotes: 1
Reputation: 66702
The graphics rednereing (points and lines on a widget) is fairly simple - you could do this with raw Win32 a la Petzold.
Upvotes: 0
Reputation: 3432
How about ZedGraph? They mention realtime applications specifically here:
http://zedgraph.org/wiki/index.php?title=Display_Dynamic_or_Real-Time_Data
They claim at least ~20 samples per second.
At 4000 samples per second I don't think you're going to want to plot all the points in real time since you're going to make it all the way across the screen in 0.25 seconds...
Upvotes: 5
Reputation: 25294
Have you looked at GraphViz? I've seen it used in oscilloscope applications, but I'm not positive it will handle the speed you're looking for. GraphViz doesn't take a 'live feed' of instructions like some of the GDI+ controls I've seen.
There are some .NET wrappers for it.
Upvotes: 1