Rendering performance when rendering large data

3 posts, 0 answers
  1. Tony
    Tony avatar
    12 posts
    Member since:
    Nov 2011

    Posted 11 Jun 2012 Link to this post

    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. Giuseppe
    Giuseppe avatar
    2363 posts

    Posted 14 Jun 2012 Link to this post

    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.

    the Telerik team

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

  3. Tony
    Tony avatar
    12 posts
    Member since:
    Nov 2011

    Posted 25 Jun 2012 Link to this post

    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.
Back to Top