Author Topic: Fast multi-channel real-time chart plotter software?  (Read 774 times)

0 Members and 1 Guest are viewing this topic.

Offline e100Topic starter

  • Frequent Contributor
  • **
  • Posts: 609
Fast multi-channel real-time chart plotter software?
« on: November 20, 2023, 07:04:20 am »
What plotting software are people using to analyze the real-time activity of a system?

I've written a simulator that is churning out a total of 200+ data points a second distributed across a dozen analog and digital on/off channels. I'm struggling to find an application that can actually plot 200 points a second without consuming vast amounts of CPU time or suffering from buffer overruns and corrupting the display.

I spent a few days looking at the MegunoLink plotter only to be disappointed at how badly it copes, despite running on a 3GHz i5 processor.
 

Offline Berni

  • Super Contributor
  • ***
  • Posts: 5057
  • Country: si
Re: Fast multi-channel real-time chart plotter software?
« Reply #1 on: November 20, 2023, 07:20:51 am »
Yeah i been having similar issues.

Some of the solutions i used is making a small CSV decimator CLI app where you can feed it a CSV file and tell it how many lines to discard. This is mostly useful for timeline logs where doping lines just means i have a more coarse time scale.

If it is something i am dealing with a lot, then i might write my own small visualization tool in C#. Tho due to using the .Net chart control it does struggle once you go too far into the millions of points. So for very large datasets id still add in some smart decimation that averages points together. There is a 3rd party chart control for C# out there that can handle absolutely gigantic amounts of data, but it is very expensive, so i never used it.
 

Offline T3sl4co1l

  • Super Contributor
  • ***
  • Posts: 22436
  • Country: us
  • Expert, Analog Electronics, PCB Layout, EMC
    • Seven Transistor Labs
Re: Fast multi-channel real-time chart plotter software?
« Reply #2 on: November 20, 2023, 07:58:17 am »
Gnuplot?

I don't recall it being too bad at hundreds or thousands of points, but it's been a while since I used it (namely in conjunction with Octave).

Could even go worse than a thin JS + HTML Canvas parser/viewer in a browser, assuming network availability (or suitable environment including DOM graphics and file system access).  Some thousands of points should be effortless, more if you can do it by GPU assistance (at some level of scaling, WASM + WebGL would probably be warranted, or just do it native with C/++/#, SIMD optimizations, and GDI/DirectX/OpenGL output.

Or since it sounds very logic-analyzery, can you just hijack an existing one?  Saleae performs very nicely with millions of points.  If the file format is documented, I'd give that a serious look.

Tim
Seven Transistor Labs, LLC
Electronic design, from concept to prototype.
Bringing a project to life?  Send me a message!
 

Offline florian-x

  • Contributor
  • Posts: 12
  • Country: fr
Re: Fast multi-channel real-time chart plotter software?
« Reply #3 on: November 20, 2023, 08:37:34 pm »
I've had the same question, and had chosen uPlot (https://github.com/leeoniya/uPlot). It's a library, so to make a real application from it, there's some way to go. I was planning to build one but haven't managed yet to do so.
 

Offline Marco

  • Super Contributor
  • ***
  • Posts: 7085
  • Country: nl
Re: Fast multi-channel real-time chart plotter software?
« Reply #4 on: November 20, 2023, 08:56:48 pm »
I think the problem isn't the 200x a second, the problem is all the previous 200s per second. If the software doesn't simplify the history through hierarchical filtering, it gets harder every second.

Unless you want a pure incremental display with a predetermined fixed timebase.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf