SciChart® the market leader in Fast WPF Charts, WPF 3D Charts, iOS Chart, Android Chart and JavaScript Chart Components

0
0

We are building an application that receives data at a rate of 264 samples per second. The values we are trying to plot are too large to use doubles so we are using floats instead. As soon as a second or two of data is appended to the chart’s dataseries the application freezes and I get the following message in the debug output window of Visual Studio.

SciChartSurface didn’t render, because an exception was thrown:
Message: Array dimensions exceeded supported range.

Stack Trace: at System.Collections.Generic.List1.set_Capacity(Int32 value)
at System.Collections.Generic.List
1.EnsureCapacity(Int32 min)
at System.Collections.Generic.List1.Add(T item)
at SciChart.Charting.Numerics.TickProviders.NumericTickProvider.CalculateTicks(IRange
1 tickRange, Double delta, Double majorDelta, IList1 results)
at SciChart.Charting.Numerics.TickProviders.NumericTickProvider.CalculateMajorTicks(IRange
1 tickRange, IAxisDelta1 tickDelta)
at SciChart.Charting.Numerics.TickProviders.TickProvider
1.SciChart.Charting.Numerics.TickProviders.ITickProvider.GetMajorTicks(IAxisParams axis)
at SciChart.Charting.Visuals.Axes.AxisCore.CalculateTicks()
at SciChart.Charting.Visuals.Axes.AxisBase.OnDraw(IRenderContext2D renderContext, IRenderPassData renderPassData)
at vme.scn(ISciChartSurface cbn, IRenderContext2D cbo)
at vme.RenderLoop(IRenderContext2D renderContext)
at SciChart.Charting.Visuals.SciChartSurface.DoDrawingLoop()

How can we get this data to render on the chart without crashing? Ideally we would like to use the FIFO feature of SciChart as well but at this point we would just settle for getting the chart to render.

Version
6.3.0.13476
  • You must to post comments
0
0

Hi Tim

I noticed the question was closed, did you do this yourself? Do you still need assistance?

First up: Double is larger and higher precision than float. Did you mean the other way around?

Next – this stack trace suggests a problem in choosing of Major/Minor delta on the axis. Basically SciChart has tried to calculate infinite gridlines for some reason. This should not happen under normal operation, but if you set Major/Minor delta to a very small value, then it can.

Stack Trace: at System.Collections.Generic.List1.set_Capacity(Int32 value)

at System.Collections.Generic.List1.EnsureCapacity(Int32 min)
at System.Collections.Generic.List1.Add(T item)
at SciChart.Charting.Numerics.TickProviders.NumericTickProvider.CalculateTicks(IRange1 tickRange, Double delta, Double majorDelta, IList1 results)
at SciChart.Charting.Numerics.TickProviders.NumericTickProvider.CalculateMajorTicks(IRange1 tickRange, IAxisDelta1 tickDelta)
at SciChart.Charting.Numerics.TickProviders.TickProvider1.SciChart.Charting.Numerics.TickProviders.ITickProvider.GetMajorTicks(IAxisParams axis)
at SciChart.Charting.Visuals.Axes.AxisCore.CalculateTicks()
at SciChart.Charting.Visuals.Axes.AxisBase.OnDraw(IRenderContext2D renderContext, IRenderPassData renderPassData)

Let me know if you need further assistance,

Best regards,
Andrew

  • Tim Stephansen
    Hi Andrew, I closed the question because I figured it out. I can’t remember what it was exactly but I think it had to do with AutoTicks and the major and minor delta. Either way I have it working now. Thank you, Tim
  • You must to post comments
Showing 1 result
Your Answer

Please first to submit.