Displaying real time data

A forum dedicated to WPF version of LightningChart Ultimate.

Moderator: Queue Moderators

Post Reply
rajkumar_r82
Posts: 8
Joined: Mon Nov 17, 2014 6:48 am

Displaying real time data

Post by rajkumar_r82 » Mon Nov 17, 2014 7:10 am

Hi,

I would like to use lightning chart ultimate in a wpf application.
The chart would be used to display real time signals to display data for around 10-20 series at a time.
I use PointLineSeries.AddPoints method

Code: Select all

public int AddPoints(double[] xValues, double[] yValues, bool invalidateChart)
Is there an upper limit on the data that can be added to a series using AddPoints method ?

Regards

User avatar
ArctionPasi
Posts: 1367
Joined: Tue Mar 26, 2013 10:57 pm
Location: Finland
Contact:

Re: Displaying real time data

Post by ArctionPasi » Mon Nov 17, 2014 9:02 am

There's no predefined limit, computer performance sets the limits and depends on the system you are running with. It also depends on the line style, are you keeping the points visible as well, X axis length, screen resolution etc.

Optimal performance is achievable by setting series.LineStyle.Width = 1 and not displaying the point symbols, by setting series.PointsVisible = false.

With 20 series, I'd recommend the data rate less than 100 000 new points / sec / series.
LightningChart Support Team, PT

rajkumar_r82
Posts: 8
Joined: Mon Nov 17, 2014 6:48 am

Re: Displaying real time data

Post by rajkumar_r82 » Mon Nov 17, 2014 11:31 am

Thank you for the reply.
The data rate that I am looking for is definitely less than 100,000 new points/sec/series.
However, the application might be used continuously for an hour or so.
So is there any limitation on the historical data limit ?
Thanks in advance.

User avatar
ArctionPasi
Posts: 1367
Joined: Tue Mar 26, 2013 10:57 pm
Location: Finland
Contact:

Re: Displaying real time data

Post by ArctionPasi » Mon Nov 17, 2014 12:02 pm

Memory sets limits. For each PointLineSeries or FreeformPointLineSeries point, 20 bytes of memory is needed, to hold the data points in the Points array.

For SampleDataSeries, a more compact format is used, only Y values are stored because the point X interval is the same throughout the monintoring. It takes only 4 bytes (Single format) or 8 bytes (Double format) for each data point.

Memory needed per hour by PointLineSeries = Series count * new points / sec * 20 bytes * 60 * 60
For example, 20 series, 1000 new data points / sec needs 1.3 GB.

Respectively, single-format SampleDataSeries it needs only 274 MB.

The chart rendering data also needs memory, but not much when compared to series point storage.

The chart has out ViewXY.DropOldSeriesData property. By enabling it, it automatically destroys out-scrolled data now and then, so memory is compacted.
LightningChart Support Team, PT

Post Reply