Kevin
Kevin

Reputation: 25947

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!

Upvotes: 6

Views: 6960

Answers (10)

Bart Gijssens
Bart Gijssens

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

Enrico
Enrico

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

Aidan Ryan
Aidan Ryan

Reputation: 11607

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

Upvotes: 1

Uhall
Uhall

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

gimel
gimel

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

JasonS
JasonS

Reputation: 23878

You might look at Visual Numerics.

Upvotes: 1

Franci Penov
Franci Penov

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

ConcernedOfTunbridgeWells
ConcernedOfTunbridgeWells

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

Ian Hopkinson
Ian Hopkinson

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

Robert S.
Robert S.

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

Related Questions