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

Are ToolTips known to kill performance?

3 Answers 82 Views
Chart
This is a migrated thread and some comments may be shown as answers.
Jake
Top achievements
Rank 1
Jake asked on 27 Oct 2011, 01:35 PM
Are ToolTips known to kill performance on charts with multiple medium-size (3650 pts, 200 pt sampling) SeriesMappings?

3 Answers, 1 is accepted

Sort by
0
Evgenia
Telerik team
answered on 01 Nov 2011, 01:01 PM
Hello Jake,

Unfortunately if any of the three features is enabled (tooltips, point marks, labels), RadChart will still generate a separate transparent visual for each data point that is used for interactivity handling and this will add significant performance hit in scenarios where large number of data points are displayed.
I'm suggesting that you review this help topic which provides tips and tricks for improving the performance.

Kind regards,
Evgenia
the Telerik team
Explore the entire Telerik portfolio by downloading the Ultimate Collection trial package. Get it now >>
0
Stuart
Top achievements
Rank 1
answered on 04 Nov 2011, 04:50 PM
We too are running into performance problems when we enable tooltips on one of our charts. Is there any plan to try and speed up this functionality? If performance remains a problem it will give weight to dropping back down and using one of the many javascript charting libraries that exist out there.
0
Evgenia
Telerik team
answered on 09 Nov 2011, 03:53 PM
Hi Stuart,

If you are not satisfied with the performance of the RadChart I would suggest that you give our newest charting control RadChartingKit a try as it was specially developed to improve the flexibility and performance of the old one. You can check the overview page of the new control here (apologize for the text layout, we will fix that for the official release alongside with polishing some of the content) but generally here are some of the most important highlights:

  • Performance: exceptional performance, intuitive and easy-to-use model and pixel-perfectness were some of the major tasks we have set for this new control.
    • We have separated the chart into several layers, where the core one is totally platform agnostic and is built on top of our custom logical tree. We call this layer the “View Model” of the chart.
    • We have a custom property store used within the charting logical tree. It is about 5 times faster than DependencyObject in look-up time and consumes about 3 times less memory.
    • We have an entirely custom layout and do not rely on the SL layout system to arrange our charting view models.
    • We have a stand-alone visualization layer that presents the chart view model. Every view model is presented by the simplest possible SL visual – e.g. Rectangle, Line, Polyline, etc. Still, every single aspect is fully customizable by specifying Data Templates or Styles.
    • We use Canvas – the only SL panel that does not invalidate measure automatically. When a redraw of some charting part is required, we simply update the Width, Height and Canvas.Left, Canvas.Top properties of the corresponding visual. A simple test proved that calling InvalidateMeasure of the canvas upon a change the in view model degrades performance about 10 times.
  • Architecture: a number of chart controls built for a specific purpose vs one monolith control (provides cleaner, simpler, and relevant API)
    • RadCartesianChart -- hosts Bar, Area, Line, Spline, SplineArea, ScatterPoint, Candlestick, and OHLC series types (and their horizontal & stacked / stacked100 equivalents where applicable).
    • RadPieChart -- hosts Pie series type.
    • RadPolarChart -- hosts PolarLine, PolarArea, PolarPoint, RadarLine, RadarArea, RadarPoint series types (Radar series types are not available in BETA but will be included in the official release).
  • Notable features
    • Financial indicators (not available in BETA) -- support for about 20 most common financial indicators to complement the data visualization for all cartesian series types.
    • Extended DateTime support built-in in the axes' logic
      • DateTimeCategoricalAxis -- Specialized categorical axis that expects each data point to provide a System.DateTime structure as its value for this axis. The points are grouped by a user-defined date-time component (Year, Month, Day, etc.) and then the groups are sorted chronologically.
      • DateTimeContinuousAxis -- Specialized axis that expects each data point to provide a System.DateTime structure as its value for this axis. May be thought of as a timeline where the coordinate of each data point is calculated depending on the position of its associated DateTime on the timeline. The base unit (or the timeline step) of the axis is calculated depending on the smallest difference between any two dates.
    • Support for linear and logarithmic axes.
    • Built-in data sampling (with extended DateTime awareness, not available in BETA)
    • Behaviors:
      • PanAndZoom Behavior (not available in BETA) -- with smooth scrolling support.
      • TrackBall Behavior (also known as current value indicator, not available in BETA) 
      • ToolTip Behavior (not available in BETA).

All the best,
Evgenia
the Telerik team

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

Tags
Chart
Asked by
Jake
Top achievements
Rank 1
Answers by
Evgenia
Telerik team
Stuart
Top achievements
Rank 1
Share this question
or