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

Virtualization comparison and use case #3

Open
Andrew-Hanlon opened this issue Nov 21, 2016 · 2 comments
Open

Virtualization comparison and use case #3

Andrew-Hanlon opened this issue Nov 21, 2016 · 2 comments
Labels

Comments

@Andrew-Hanlon
Copy link

Hi - this looks like a great effort to build a more performant and usable TreeView.

One thing I noticed in the demo application, is that the bound standard-TreeView has Virtualization explicitly turned off. After enabling it, the loading and memory usage are drastically improved such that the difference between the TreeView types is not as apparent.

In you experience, in what usage scenarios does the standard control fail?

@picrap
Copy link
Owner

picrap commented Nov 21, 2016

Thanks for pointing this. I committed right now the change with virtualization enabled.

The standard control was not failing but I had big slowdowns on another application when expanding around 5000 items.

This VirtualTreeView improved performance on more complex TreeViewItems than the example shows. And it's actually the complex binding that was slowing it down.
The control is still in development, and I need to improve:

  • Binding without creating item container in complex binding cases (to get the expanded state and children values).
  • A sample with more complex items.

But since you ask, and I am curious, why are looking for an alternative to the default TreeView control?

@Andrew-Hanlon
Copy link
Author

That's what I was thinking (more complex templates causing slower layout passes) and is one of the reasons I had for investigating TreeView alternatives.

The other main issues with the standard TreeView virtualization is the scrollbar thumb jumps and resizes since the control does not know the true size of nested branches.

Thanks

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

No branches or pull requests

2 participants