Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

High speed graphing control for .NET (or MFC)?

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!

like image 582
Kevin Avatar asked Oct 07 '08 18:10

Kevin


7 Answers

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...

like image 168
Ian Hopkinson Avatar answered Nov 16 '22 06:11

Ian Hopkinson


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.

like image 41
gimel Avatar answered Nov 16 '22 07:11

gimel


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.

like image 35
Robert S. Avatar answered Nov 16 '22 07:11

Robert S.


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.

like image 1
Franci Penov Avatar answered Nov 16 '22 05:11

Franci Penov


You might look at Visual Numerics.

like image 1
JasonS Avatar answered Nov 16 '22 06:11

JasonS


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.

like image 1
Uhall Avatar answered Nov 16 '22 07:11

Uhall


Check out this question. I highly recommend IOComp for both MFC (ActiveX) and .Net. Very fast and stable.

http://opcactivex.com/Related_Products___Development/Development_Tools/Plot_Pack/screen_iocomp_plotpack.jpg

like image 1
Aidan Ryan Avatar answered Nov 16 '22 07:11

Aidan Ryan