We're using the xamchart in a UI where users are able to chose from a large set of data series to view on the chart, as well as pick the duration to be displayed. We're now seeing cases where if we hit some threshold number of data values (large number of series and/or a large number of data values per series), the background of the chart goes black. If we then eliminate any one series, or contract the duration, it immediately looks fine. (Note: it is not the case that the grid lines get closer and closer to evolve into a solid black background, which is what I first suspected when I took a look at this problem. It seems pretty well tied to the number of values).
Is there any limitation to the number of datapoints a chart can support? Is the expected behavior? a bug in the xamchart? Otherwise, any suggestions of what to look into on our part?
the chart's performance will degrade over 10,000 points or thereabouts, depending on the series types. how many series / datapoints are you using, and what are the series ChartTypes?
The chart I'm presently looking at has 13 series, and it turns black when i increase the datapoints from 76 to 77, thus increasing the total datapoints from 988 to 1001. Not sure if going past 1000 is some magic threshold, but it's interesting to note. ChartTypes are a mix of Columns, Lines and Areas.
...and one more: reducing it to a single series with 1000 datapoints looked fine. 1001 turned the background black. I guess it IS a threshold of sorts...
try setting the Scene.DataFilter property to false.
<igChart:XamChart Name="theChart"> <igChart:XamChart.Scene> <igChart:Scene> <igChart:Scene DataFilter="False" /> </igChart:Scene> </igChart:XamChart.Scene> </igChart:XamChart>
Sorry, unfortunately that didn't have any effect.
how about Scene.GridArea.RenderingOptions.RenderingMode = Full?
<igChart:XamChart Name="theChart"> <igChart:XamChart.Scene> <igChart:Scene DataFilter="False"> <igChart:Scene.GridArea> <igChart:GridArea> <igChart:GridArea.RenderingOptions> <igChart:GridAreaRenderingOptions RenderingMode="Full" /> </igChart:GridArea.RenderingOptions> </igChart:GridArea> </igChart:Scene.GridArea> </igChart:Scene> </igChart:XamChart.Scene></igChart:XamChart>
Thanks for the follow-up. That did seem to do the trick.
So, two follow-up questions:
(1) what did that really do?
(2) not only might we have a graph with over 1000 pts, we might have actually have many such graphs in a thumbnail view that provides an overview of numerous time series. Is this likely to cost us in performance with that particular view? (I'm assuming the Performance vs Full trade-off in RenderingMode has some optimization that we'll now be losing??)
Thanks again your quick response on this issue.
-Ray
This issue still exists in 10.3.20103.2290. Any ideas?
To close the loop on this issue, we opened a case with Infragistics on this bug, and a fix became available in service releases for 9.1, 9.2, 10.1 and 10.2.
Thanks for looking into this, David. I tried your sample app and like you, I do not see the same issue we're running into. I'll need to dig further thru our xaml to see what other differences there may be to cause this. Unfortunately I'm out tomorrow, so I won't be able to jump back on this until Monday. Will catch up then...
i tried plotting 15 series of 100 and wasn't able to reproduce the issue of the background turning black. i have attached the sample project i used.
are you able to reproduce the problem using this sample? if so, what version of the chart dll are you using? if not, what steps am i missing to reproduce the problem?
Back on this thread here. We had opted not to implement this change back in February since it was too late in our release cycle. However, the issue has surfaced in the field, so we must now address it!!We did some further testing of your suggested workaround to disable fast rendering mode. With one graph with 1000 data points, the performance is reasonable after we take this approach. With more graphs, each with 1000 data points, performance degrades anywhere from 2x to 10x. Even with as few as four graphs - before the fix: 3.8s; after the fix: 39s!!It will not be unusual for our users to have graphs that are dense with data. And it appears the XamChart can otherwise handle large amounts of data well --- except for the caveat of the background turning black.We thus need another approach for this - whether a workaround that doesn't degrade as significantly, or a fix that corrects the background from being painted black when there are more than 999 data points in a graph.Suggestions?