Pre loader

SciChart 2D performance issue when drawing >100,000 points.

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

I have just finished my first pass evaluation of the SciChart performance. When drawing a lesser number of points (<100000), SciChart outperforms two other packages I have evaluated. However, when drawing more points (200,000 – 2,000,000), SciChart does not meet the performance of the other packages.

The evaluation involved selecting a different number of lines and number of points per line. The transition to worse performance occurred in the following setups:

Line Count Points/Line Loop Count Total Time (ms)
2 100,000 25 1890
5 100,000 25 4670
2 1,000,000 10 7400
2 10,000,000 10 74000

These setups average out to about 0.37 usec per point. This is where the other packages outperformed SciChart, as their per point times kept improving.

I have tried to follow all of the performance tips I found on your website. I have included the code used to evaluate SciChart and would appreciate any help in improving the results.

Thanks,
Dave

Attachments
  • You must to post comments
Best Answer
1
0

I am considering applying server-side licensing for my javerScript application.

In the document below, there is a phrase “Our server-side licensing component is written in C++.”
(https://support-dev.scichart.com/index.php?/Knowledgebase/Article/View/17256/42/)

However, there is only asp.net sample code on the provided github.
(https://github.com/ABTSoftware/SciChart.JS.Examples/tree/master/Sandbox/demo-dotnet-server-licensing)

I wonder if there is a sample code implemented in C++ for server-side licensing.

Can you provide c++ sample code?
Also, are there any examples to run on Ubuntu?

  • You must to post comments
0
0

Hi Dave,

Unfortunately there is a bug in our forum (being fixed at present) whereby we cannot download attachments … Can I ask you please to submit this sample to support [at] scichart.com or to myself andrew [at] abtsoftware.co.uk

Secondly, I’m surprised we’re not meeting performance of other chart packages! Since we advertise ourselves and pride ourselves on performance, I’m really keen to improve this for you. If you can send over the zip by email we’ll take a look right away.

Finally, you should be aware that there are many tricks involved in charting performance. We had one customer report that DirectX SciChart was slower to append but the problem was actually that the DirectX drawing engine was so fast, it was drawing too often and blocking the DataSeries.Append. Take a look at https://www.scichart.com/questions/question/comparing-performance-for-a-fifo-chart-shows-direct3-slowest-and-high-quality-renderer-fastest-1 which has a detailed analysis and resolution (which might be applicable)

Best regards,
Andrew

  • You must to post comments
0
0

Andrew,

I implemented the following suggested optimization changes:

  • Added the DataDistributionCalculator to the XyDataSeries.
  • Used a block size of 1000 for appending data (if the data count is >= 10000).
  • Constructed the XyDataSeries object with the known data count.

With these changes the SciChart is now comparable to the performance of the fastest of the other graphing packages I have tried. SciChart is actually significantly faster for certain series count , points per series configurations.

Thanks for your help,
Dave

  • Dave Leach
    Measured performance with optimizations: Line Count Points/Line Loop Count Total Time (ms) 2 ~ 100,000 ~ 25 = 330 5 ~ 100,000 ~ 25 = 835 2 ~ 1,000,000 ~ 10 = 970 2 ~ 10,000,000 ~ 10 = 10300
  • You must to post comments
Showing 3 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