Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Plot when series element in ItemsSource changes #407

Closed
MendelMonteiro opened this issue Mar 9, 2015 · 5 comments
Closed

Update Plot when series element in ItemsSource changes #407

MendelMonteiro opened this issue Mar 9, 2015 · 5 comments

Comments

@MendelMonteiro
Copy link
Contributor

When the plot view is bound to a collection and one of the elements in the element's value changes we could update the plot view.

@objorke
Copy link
Member

objorke commented Mar 10, 2015

Related to #406 and #136

@objorke
Copy link
Member

objorke commented Mar 10, 2015

If this should be done, I think it should be done on all series - otherwise we need to create a lot of documentation where it is working and not... Let us discuss before starting on this task...

@MendelMonteiro
Copy link
Contributor Author

Enabling this could cause some issues with large data series as we would invalidate the plot on each property changed update. Imagine an item which has 4 properties, each bound to a series - we would invalidate the plot 4 times for each item.

There might be some work to be done on optimising the re-draw when incremental updates are detected.

Given the amount of potential invalidations can you see a way of implementing this in a performant way?

@objorke
Copy link
Member

objorke commented Mar 23, 2015

  • the items source could be disconnected when doing batch changes
  • a transaction pattern could be used (begin/end edit on the plot model or the series)
  • property changes could invalidate only and updating the plot model items could be done async, meaning that probably all changes will be done before updating the model

@MendelMonteiro
Copy link
Contributor Author

I like the third idea, pipelining the drawing steps to redraw the plot. I am going to dig into the code more to understand how the plot is invalidated.

The first two seem unnecessary as if you have a reference to the plot you can already manually invalidate it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants