quasar
quasar copied to clipboard
perf(QTree): rewriting the inner strategies of QTree to use hashes instead of greedy iterations (fix #17941)
What kind of change does this PR introduce?
- [ ] Bugfix
- [ ] Feature
- [ ] Documentation
- [ ] Code style update
- [x] Refactor
- [ ] Build-related changes
- [ ] Other, please describe:
Does this PR introduce a breaking change?
- [ ] Yes
- [x] No
The PR fulfills these requirements:
- [x] It's submitted to the
devbranch (orv[X]branch) - [x] When resolving a specific issue, it's referenced in the PR's title (e.g.
fix: #xxx[,#xxx], where "xxx" is the issue number) - [ ] It's been tested on a Cordova (iOS, Android) app
- [ ] It's been tested on an Electron app
- [ ] Any necessary documentation has been added or updated in the docs or explained in the PR's description.
Other information:
- This PR will solve the bad performance to find the expanded/ticked node when the big tree is loaded, but not solves the rendering overhead when full expanded.
I'll finish this PR by refactoring the meta computed that is spending so much time with large data sets, I'm thinking in remove the computed up-bottom strategy and do bottom-up travel from the edited node to recompute only the necessary metas, instead of recomputing the entire meta every time a node gets expanded/ticked.