Pre loader

Rendering issues with data series containing many NaN's

Welcome to the SciChart Forums!

  • Please read our Question Asking Guidelines for how to format a good question
  • Some reputation is required to post answers. Get up-voted to avoid the spam filter!
  • We welcome community answers and upvotes. Every Q&A improves SciChart for everyone

WPF Forums | JavaScript Forums | Android Forums | iOS Forums

Answered
1
0

Hi

I have experienced some rendering issues with data series containing lots of NaN’s.

I have attached a test project and a couple of screenshots / a video.

It is a chart with the following setup:

XAxis = DateTime
YAxis = Numeric
Rendertype = HighQuality
4 FastLineRenderableSeries series

The series are updated 10 times per second with random y values. Some of the values are randomly made NaN’s.

After about 10 – 12 minutes (~6000 datapoints per series) the chart stops showing new data.
Zooming into the chart makes all of the series visible again.

If I lower the frequency of NaN’s the issue appears after a longer time.
If I do not insert NaN values the chart performs as excepted.

The first screenshot is after ~10 – 11 minutes – everything is fine.
The second screenshot is ~2 minute after – it does not render the last part of the series.
The video shows some panning and zooming.

/Flemming

Version
5.1.1
Images
  • You must to post comments
Great Answer
1
0

Hi Flemming

I’m betting this is related to this issue which was fixed in SciChart v5.0: https://www.scichart.com/scichart-wpf-v5-released/

Extreme Resamplers & Performance Improvements

Our resampler algorithms have been re-written using C++ for enhanced
resolution, speed and efficiency. Long standing problems solved
include:

  1. Performance problem when resampling FIFO series / avoiding copy
    operation for First-in-first-out buffers.
  2. Resampling accuracy improved
    when the data-set includes NaN gaps
  3. Resampling accuracy improved when
    the data-set is unevenly spaced in X Resampling accuracy flag
  4. BaseRenderableSeries.ResamplingPrecision allows setting of resolution
    for crisper, higher res charts.

To enable this feature, you have to follow the steps here. It is not enabled by default as it requires native code which might cause problems on some machines.

Let me know if this helps!

Best regards,
Andrew

  • You must to post comments
0
0

Thank you – it solved the rendering issues.

Do you have any info on what impact different ResamplingPrecision values has on the chart performance?

..and what kind of problems could the use of native code give?

/Flemming

  • Andrew Burnett-Thompson
    Hi Flemming, the only problem in the native code is a possible deployment issue. It affects maybe 0.5% of our customers that there is some restriction on the target PC that cannot run the native code module. There are workarounds but we didn’t want to bring ourselves support issues. Try it – it should work fine. Regarding the performance, native code perf is better than C# perf for resampling. It is also much more accurate. The ResamplingPrecision property basically increases the amount of points drawn on the screen (some overdraw). It’s a logarithmic function so 0 = default 1 = twice the precision, 2 = 4x the precision. If you experience jagged lines or any poor quality rendering try 1 or 2.
  • You must to post comments
Showing 2 results
Your Answer

Please first to submit.

Try SciChart Today

Start a trial and discover why we are the choice
of demanding developers worldwide

Start TrialCase Studies