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
- Dave Leach asked 8 years ago
- last edited 8 years ago
- You must login to post comments
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?
- Andrew Burnett-Thompson answered 8 years ago
- last edited 8 years ago
- You must login to post comments
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
- Andrew Burnett-Thompson answered 8 years ago
-
Andrew, I have emailed the zipped code files to you ([email protected]).
- You must login to post comments
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 answered 8 years ago
-
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 login to post comments
Please login first to submit.