This is a migrated thread and some comments may be shown as answers.

Rendering performance when rendering large data

2 Answers 289 Views
ChartView
This is a migrated thread and some comments may be shown as answers.
Tony
Top achievements
Rank 1
Tony asked on 11 Jun 2012, 04:09 PM
We're considering using the ChartView or the Chart for our data analysis application. Our analysts often analyze large data sets and they need the scatter chart to be able to render upwards of 10,000 points in a quick manner. What our tests are showing, is that when you bind big data and render 10K points, performance suffers greatly. We have a need to template the points to have varying sizes and colors. We've found that when rendering large data sets AND applying color and size to the points, it takes several seconds to render the chart. What can be done about the rendering performance of this chart? If needed, I can send a sample solution to demonstrate the poor performance.

EDIT: I should also add that whatever solution is needed to speed the rendering of large data in this ChartView also needs to work in Silverlight, as this is going in to a multi-targeted application. This would eliminate the use of DrawingVisuals from the item data template from the overall solution.

Thanks in advance.

2 Answers, 1 is accepted

Sort by
0
Giuseppe
Telerik team
answered on 14 Jun 2012, 04:39 PM
Hello Tony,

Could you elaborate a bit more on the expected rendering performance in this scenario as in our local tests ScatterPointSeries rendered with its default visuals (always the fastest option) is able to cope with 10k items without visible delay. We have also attached a version of the same sample application that uses custom item visuals (via ScatterPointSeries.PointTemplates / ScatterPointSeries.PointTemplateSelector) that is only slightly slower but again renders without noticeable delay (you can find the Silverlight version of the same as well -- it behaves even faster than the WPF one).

If the rendering performance does not meet your requirements, you can consider using data sampling mechanism provided in the form of an external ChartDataSource control -- more information can be found here.

Hope this helps.


Greetings,
Giuseppe
the Telerik team

Explore the entire Telerik portfolio by downloading the Ultimate Collection trial package. Get it now >>

0
Tony
Top achievements
Rank 1
answered on 25 Jun 2012, 10:04 PM
Thanks for the response. Our requirement for performance is between 1 and 1.5 seconds rendering time for 10000 points. One of your competitors is able to do this with a scatter chart, but we would like to use Telerik if at all possible.

In the sample you attached, I see no use of the ScatterPointSeries.PointTemplateSelector you mention. Additionally, your example has a set number of DataTemplates, which does perform well, but each of our models that are bound to the graph will have its own color value on it, so we must be able to use data binding for the point colors. This is where performance suffers even more. Your example is fast because it does not utilize data binding for size and color.

I'll open a support ticket for this performance requirement so it can be tracked by the rest of my team more easily.
Tags
ChartView
Asked by
Tony
Top achievements
Rank 1
Answers by
Giuseppe
Telerik team
Tony
Top achievements
Rank 1
Share this question
or