Adding Datapoints to RadCartesianChart

6 posts, 0 answers
  1. Andrew
    Andrew avatar
    18 posts
    Member since:
    Sep 2012

    Posted 18 Oct 2012 Link to this post

    I am dynamically adding and removing Datapoints every half a second to several areaseries. What I am doing is similar to the telerik social site live data example execpt I have around 60 series in the chart and I am using an areaseries that is in stack100 mode. After about 20 secs after start time the app begins to lag. I have identified the lag to being caused by adding new datapoints. (No lag is caused by starting of with several thousand datapoint and the lag only starts once new datapoints are added). What might the lag be caused by and is there anything that I can to about it?

    Also when I add a new areaseries to the chart after some time I sometimes get a NullReferenceException at Telerik.Charting.DataPoint.Measure() and I can' t figure out why. What might cause this?
  2. Petar Marchev
    Admin
    Petar Marchev avatar
    1024 posts

    Posted 19 Oct 2012 Link to this post

    Hi,

    NullReferenceException at Telerik.Charting.DataPoint.Measure()
    Recently we fixed a bug that lead to the same exception in the same method. The bug occurred when a series was added to the Series collection, then it was removed and later added again. If your scenario is similar to this one - this could just be the cause of it. This bug is now fixed and the fix will be available with the next LIB.

    After about 20 secs after start time the app begins to lag.
    The RadChartView generally has a very high performance rate, but 60 series is a lot! Adding DataPoints every half a second will push the chart to its limits. May be if you prepare a small project for us to see (to better understand) we can give you more constructive suggestions, but for know I can only make very basic suggestions:

    1. Keep the total count of the DataPoints below several thousand. You mentioned you are adding and removing DataPoints. If you mean that you are using the chart in its unbound mode (i.e. you are creating the DataPoints manually) - this would probably be the better choice (performance-wise). If you are using the CategoryBinding, ValueBinding or XValueBinding of the series - consider working directly with DataPoints.

    2. If you haven't done that already - consider sampling your data. This is closely related to the above suggestion - keep the count of the DataPoints below a certain threshold. If you are in a data-bound mode, you can try the ChartDataSource.

    3. Try LineSeries instead of the AreaSeries. With the new Q3 release, that just came out, we have introduced a new RenderMode (Light) for the LineSeries - and they have an outstanding performance (example here).

    Let us know if we can assist you any further.

    Greetings,
    Petar Marchev
    the Telerik team

    Explore the entire Telerik portfolio by downloading Telerik DevCraft Ultimate.

  3. Andrew
    Andrew avatar
    18 posts
    Member since:
    Sep 2012

    Posted 22 Oct 2012 Link to this post

    What is the next LIB?
  4. Petar Marchev
    Admin
    Petar Marchev avatar
    1024 posts

    Posted 23 Oct 2012 Link to this post

    Hi Andrew,

    LIB is Latest Internal Build. This is released (usually) every Monday. You can download it when you log in with your account under the Manage Products -> RadControls for Silverlight. The link is located in the list on the right.

    We do not recommend that you use a LIB for your official release, because the LIBs are not tested thoroughly, but you can work with them till we make an official release, such as a Q release or a SP. Let us know if we can be of further help.

    All the best,
    Petar Marchev
    the Telerik team

    Explore the entire Telerik portfolio by downloading Telerik DevCraft Ultimate.

  5. Vinay
    Vinay avatar
    8 posts
    Member since:
    Jun 2018

    Posted 25 Dec 2018 Link to this post

    Hi ,

    I am binding the continous streaming of data to the line series of the rad cartesian chart . The chart responds well with the minimum amount of data . When the data is huge the chart starts responding in a laggy way and sometimes the application crashes due to the chart's unresponsiveness. Do we have any suitable method/property to display the huge data of continous streaming ? This is device communication project and we need to show the live data in the graphical format.

    Regards,

    Vinay

     

     

  6. Martin Ivanov
    Admin
    Martin Ivanov avatar
    2217 posts

    Posted 26 Dec 2018 Link to this post

    Hello Vinay,

    To boost the chart's performance, use the lightweight render options. You can read more about this in the Rendering article. Also, you can check the following blog post.

    Regards,
    Martin Ivanov
    Progress Telerik
    Try our brand new, jQuery-free Angular 2 components built from ground-up which deliver the business app essential building blocks - a grid component, data visualization (charts) and form elements.
Back to Top