Hi!
I am facing some performance issues when using a XamDataChart.
I've an example, taken from another post
https://es.infragistics.com/community/forums/f/ultimate-ui-for-wpf/70986/how-to-bind-multiple-collections-to-single-xamdatachart
I modified this example a little bit so that multiple signals are bound to one common x-axis and one common y-xaxis. There are 5 different signals, each consisting of about 10000 points randomly generated. When a signal is selected or deselected in the listbox the update of the XamDataChart is fast.
This is my first example:
Ex1.zip
Then I modified this example further to include an algorithm to compute a specific signal, 5 times the same signal. This signal is a rectangular signal consisting of about 480 points. Here the update of the XamDataChart is pretty slow (compared to example 1 with about 10000 points)
Ex2.zip
Where does this performance degradation come from?!
How can I increase the performance?!
Best regards,
Christoph
Thank you very much.
From my point of view I am ´happy.
BR, Christoph
Hello Christoph,
Thank you for your update on this matter.
I have been investigating into the reason that the legend badge is not showing up correctly, and this is due to a problem with the Generic.xaml file, in that there does not exist an implicit legend badge for the ImmediateLineSeries, and so the binding that is in place in the LegendItemPointBadgeTemplate does not work.
In the attached modified sample, I replaced it with a Rectangle with its Fill bound to the ActualBrush of the series, and it is now showing up normally. I hope this helps you.
Please let me know if you have any other questions or concerns on this matter.
2604.XamDataChartNoiseDataDemo_LegendIssue.zip
Hello Andrew!
Almost satisfied, but .... I've an issue with the legend.
When I use ScatterLineSeries, the legend looks similar to
but when I use ImmediateLineSeriesit looks like
it is not able to show the color of the series properly, instead it shows a undefined image/text, don't know.
I've modified your last example to include a legend:
XamDataChartNoiseDataDemo_LegendIssue.zip
If this can be solved, I have everything I need for the moment.
I would be also glad if it could become an "official" product, because I think that it is a good solution.
I have been investigating into the behavior you are seeing, and I am able to reproduce it, although I’m not sure why this happens in your sample but not in the one that I sent you.
It seems to me that there is something specifically about your dataset that is causing the Viewport of the thumbnail to return an {Empty} Rect with a height and width of different Infinite values, and this is where the issue lies. As such, I have implemented a workaround to check the Viewport for an Empty Rect in the ImmediateLineSeriesWBXView.PrepSurface method prior to calling OnResize as well as surrounding the RenderFrame call in the RenderThumbnail method in ImmediateLineSeries in a try-catch statement. This appears to fix the issue you are seeing and allow the overview plus detail pane to render correctly.
I am attaching a modified version of the sample project you sent to demonstrate. I hope this helps you.
XamDataChartNoiseDataDemo - Kopie (2).zip
I was able to reduce my project to a minimum solution to see the problem. I've attached it:
XamDataChartNoiseDataDemo_MyView.zip
I appreciate your help.