Hi,
I work with cartesian charts using a large number of series with a large number of points.
In example, 25 series with 150.000 points each.
All work pretty good but not if Zoom and/or Trackball is enabled.
I understand that this require a lot of processor use.
The two theoretical problems that occurs is:
1) For TrackBall: Find, for each Series, the points closer to one x value.
2) For Zoom: Find, for each series, points between x-min and x-max.
Now, I work with ordered datasets, so I can provide myself the methods that solve 1 and 2 efficently.
So my question.
I can override some methods in CartesiaChart, ChartPanAndZoomBehavior, ChartTrackBallBehavior, Other Classes, that can allow me to use this features also in giant charts? Or I can provide a "DataSourceManager" that solve efficently this problemns?
Thanks,
marcello
7 Answers, 1 is accepted
The track ball uses the GetDataContext method of the chart which is internal and it uses the FindClosestPoints method which is private, so unfortunately there is no way to change the mechanism that does the searching.
I am a bit unsure about what you need to know about the zooming and finding points between x-min and x-max. The points are simply iterated and if they are within the range, they are being plotted. Here, again, the rendering is done by internal classes that cannot be overridden.
I am unsure about the 2nd part, but the first, the trackball - if you find our trackball to be slow, you can simply turn it off and implement a custom trackball. You can use your logic to detect the closest points and show a custom element on top of the chart. Let us know if you need more information.
Regards,
Petar Marchev
Telerik
sorry for large delay.
Yes, this is my actual solution I have rewrited the trackball engine but:
1) This require a continous maintenace for each release of telerik I must control that all works good
2) I don't access all little architecturals elements for a perfect results (In ex: how ends exactly the chart plot area? And a lot of others...)
This is is really annoying for us. Set GetDataContext as Protected virtual require two seconds.
Why not?
I have just created a feature request for this in our feedback portal where you can vote and track its status. I have also updated your Telerik points as a thank you for helping us improve our products!
Regards,
Petar Marchev
Telerik by Progress
Hi Petar,
Thank's but I have already create this:
http://feedback.telerik.com/Project/143/Feedback/Details/198264-ordered-dataset-for-ultraefficient-trackbals-engine-and-pan-zom-behavior
marc.
We saw the feedback item, but its description is not very clear on the requested functionality and I am afraid that without understanding the request we cannot approve it. Can you tell us what exactly the feature request should state? For example, is it about improving the performance of the trackball behavior in a scenario with large data? Or it is about allowing you to order the data points somehow? Also, what do you mean by that the chart freezes? Does it stop working until you restart the application or it just freezes and unfreezes constantly while the application is running which makes it laggy?
Additionally, we do not understand what the possible solutions are. Can you try to describe them more detailed.
Regards,
Martin
Telerik by Progress
Hi,
added a comment with more details.
marc.
Thank you for the additional comment. We are going to review the feedback item and update its status accordingly.
Regards,
Martin
Telerik by Progress