Chart Many Data Problem

A forum dedicated to WPF version of LightningChart Ultimate.

Moderator: Queue Moderators

Post Reply
copilot90
Posts: 13
Joined: Mon Aug 22, 2016 2:46 am

Chart Many Data Problem

Post by copilot90 » Fri Sep 02, 2016 5:43 am

Hello !

I have a question while I 'm making a chart in Multi-channel cursor tracking

I inputed my data in chart

120 million point per one channel

120,000,000 x 8 ch

It's problem

I built and run

As a result process down

so I inputed one channel data (120,000,000data)

so I found the problem

I look the taskmanager

chart processor use the 3.0gb

but my computer resource 8 gb ram

How can I input the 8ch data? (120,000,000 x 8ch)

Is it possible my task?

Please help me!

Thank you Have a nice day!

Code: Select all

	int iSeriesCount = 1;
			int iPointCount = 120000000;
			Random rand = new Random();
           const double dXStep = 0.000005;
           // const double dXStep = 1;
			System.Windows.Media.Color color = Colors.Black;

			//Create series
			for (int iSeries = 0; iSeries < iSeriesCount; iSeries++)
			{
				//Create new Y axis for each series 
				AxisY axisY = new AxisY(m_chart.ViewXY);
				axisY.Units.Text = "kW";
				axisY.Title.Text = "Mill " + (iSeries + 1).ToString() + "\n[kW]";
				axisY.Title.Angle = 0;
				axisY.Title.Font = new WpfFont("Segoe UI", 13, false, false);
				axisY.Title.Color = Colors.White;
                axisY.AutoFormatLabels = false;
                axisY.AutoDivSeparationPercent = 0;
                axisY.LabelsNumberFormat = "0"; 
                
				m_chart.ViewXY.YAxes.Add(axisY);

				//Create a point-line series
				PointLineSeries series = new PointLineSeries(m_chart.ViewXY, m_chart.ViewXY.XAxes[0], axisY);
				series.LineStyle.Color = DefaultColors.SeriesForBlackBackgroundWpf[iSeries];

				//Set some data into series 
				SeriesPoint[] aPoints = new SeriesPoint[iPointCount];
				double dX = 0;

				for (int iPoint = 0; iPoint < iPointCount; iPoint++)
				{
					aPoints[iPoint].X = dX;

                    if( rand.Next(1000000)==5200)
                    {
                        aPoints[iPoint].Y = 1;
                    }else
                    {
                        aPoints[iPoint].Y = 0;
                    }
					
					dX += dXStep;
				}

				//Assign the points array to series
				series.Points = aPoints;
* chart version is non-bindable chart
o/s : windows 10 64bit
ram : 8 gb
cpu : i5 skylake
Attachments
img.jpg
img.jpg (85.57 KiB) Viewed 9013 times
Last edited by copilot90 on Fri Sep 02, 2016 7:07 am, edited 1 time in total.

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

Re: Chart Many Data Problem

Post by ArctionPasi » Fri Sep 02, 2016 6:58 am

Hi!

With than memory amount, and using SeriesPoint (size 20 bytes per data point), it's not going to be possible.
8 x 120,000,000 x 20 produces over 18 GB memory footprint.

Please use SampleDataSeries, with SampleFormat = SingleFloat, then it uses 4 bytes / data point. Might work with your system, might not. More memory is definitely needed for this kind of data amounts.
LightningChart Support Team, PT

Post Reply