This thread looks to be a little on the old side and therefore may no longer be relevant. Please see if there is a newer thread on the subject and ensure you're using the most recent build of any software if your question regards a particular product.
This thread has been locked and is no longer accepting new posts, if you have a question regarding this topic please email us at support@mindscape.co.nz
|
Hi Jason! I am experiencing a hell of an issue that can be duplicated with the repro project I emailed you. It can be reproduced by doing the following:
This doesn't take very long to reproduce. Do you have any ideas what could be causing this? This is in the critical path for me right now as a version release just slipped because of this. I ran this with version 09/19/2014 nightly build. Thanks, Ed |
|
|
Further research has determined that my DataExtractor object has completed accessing all of the data, but goes away for a very long time (20 seconds for each series with 10,000 data points) before it will do any rendering. With 30,000 points it seems like it will never recover. Again, all data access operations have completed in a very timely matter (< 800us). But after doing this a few times, I get message in the output window that says "The thread Before the thread exit message, the render is nearly instantaneous. |
|
|
Hi Ed, When I follow your repro steps, the resulting graph shows a bunch of lines zig zaging across the viewport - quite a mess. Is this what you're seeing too? If so, here's what's happening here: The Chart renders the data points in the same order that they get returned when iterating the items source collection. When the chart analyses the data before rendering, it can determine whether the data is in sequential order along either the x or y axis. If it is, the chart is able to use performance techniques such as virtualization and data sampling which simplifies what gets rendered while still displaying an accurate view of the data. If the data is not in any sequential order, then there is nothing much that the chart can do other than render all 30,000 points/lines. This is a bit much for the WPF to render at once which is why it can lock for a long time. One way to solve this would be to make sure the X axis data is ordered. Hope that helps explain the issue here, let me know if you have any questions. -Jason Fauchelle |
|
|
That is just because the data is randomly generated, and that is expected. But if you go back and forth for a few tries, and then re-select item for the x-axis, which is ordered, it still takes several dozen seconds for the UI to return and for the graph to render. |
|
|
Hi Ed, Apologies for the delay, I had tried to run your repro project through a performance analyser, but for some reason the analyser ends up closing the application as soon as it starts up, so I had to create a new sample. However, what I'm seeing is that after the chart has rendered randomly ordered data which takes a long time, when I change the ItemsSource back to an ordered collection of the same size, the chart renders instantly. If this is still an issue at your end, please provide a new repro project specific to this issue and I'll investigate further. -Jason Fauchelle |
|