Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
425
XamChart performance problem
posted

Hi, all.

My application uses XamChart to display some dynamic graphs with lot of DataPoints.

I face serious performance problem.

In my test application I placed 4 XamChart components with 1 ScatterLine Series.

All charts are bind to the same observable collection

Each 1 second I add point to this collection.

To improve performance I use Performance RenderingMode

xamChart1.Scene.GridArea.RenderingOptions.RenderingMode = RenderingMode.Performance

Also I handle RefreshEnabled chart property

After about 5 minutes my test application uses 50% CPU and stops reacting on user input.

I opened the issue in the Infragistics support and received following

"We have experienced same performance issue so we have logged this behavior with our developers in our tracking system, with an issue ID of 12758."

Unfortunately they trying to fix this bug from January 21 (more then month)

Does anybody meet same performance problems with this control?

What is the possible solutions ?

Thanks in advance,

 

Parents
  • 28496
    Offline posted

    the sample project attached to that bug report has 6 charts with 5 series each, but based on that i think you have just met the performance threshold for rendering that many charts in under one second.

    to improve performance, one thing i can suggest is adding DataPoints to a series manually, rather than using the series.DataSource property.  when i profiled this application for performance, retrieving the value of each datapoint through databinding was one of the more expensive operations.

    another thing that might help, if it's possible in your application, is to remove the point at index 0 before adding each point, after a certain limit of datapoints has been reached.  that way you can limit the number of points to be displayed for each chart.

    increasing the interval for your timer and doing batch or on-demand updates to each chart, instead of updating each second, might be another way to work around this performance limitation.

     

Reply Children