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

2019-02-05 04:24发布

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!

10条回答
We Are One
2楼-- · 2019-02-05 04:44

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.

查看更多
smile是对你的礼貌
3楼-- · 2019-02-05 04:47

The graphics rednereing (points and lines on a widget) is fairly simple - you could do this with raw Win32 a la Petzold.

查看更多
神经病院院长
4楼-- · 2019-02-05 04:56

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.

查看更多
来,给爷笑一个
5楼-- · 2019-02-05 04:58

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.

查看更多
Viruses.
6楼-- · 2019-02-05 04:59

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

查看更多
在下西门庆
7楼-- · 2019-02-05 04:59
登录 后发表回答