Skip to content

Conversation

@gilmar-sales
Copy link

@gilmar-sales gilmar-sales commented Nov 18, 2025

What kind of change does this PR introduce?

  • Bugfix
  • Feature
  • Documentation
  • Code style update
  • Refactor
  • Build-related changes
  • Other, please describe:

Does this PR introduce a breaking change?

  • Yes
  • No

The PR fulfills these requirements:

  • It's submitted to the dev branch (or v[X] branch)
  • 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, and solves the rendering overhead when full expanded.

@gilmar-sales gilmar-sales marked this pull request as draft November 18, 2025 19:03
@gilmar-sales
Copy link
Author

gilmar-sales commented Nov 18, 2025

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.

@gilmar-sales gilmar-sales changed the title Performance: rewriting the inner strategies of QTree to use hashes instead of greedy iterations (fix #17941) perf(QTree): rewriting the inner strategies of QTree to use hashes instead of greedy iterations (fix #17941) Nov 18, 2025
@gilmar-sales
Copy link
Author

After deeper investigations, I noticed that the browser is struggling to render all tree nodes, so I tried to add support for virtual scrolling, it's pretty responsive, but I need to figure out how to control different heights for each node...
image

@gilmar-sales
Copy link
Author

Gravar a tela_20260110_013710.webm
Almost there, I'll check if it would still be compatible with the transition.

@gilmar-sales gilmar-sales changed the title perf(QTree): rewriting the inner strategies of QTree to use hashes instead of greedy iterations (fix #17941) perf(QTree): rewriting the inner strategies of QTree to virtual scrolling (fix #17941) Jan 10, 2026
@gilmar-sales gilmar-sales changed the title perf(QTree): rewriting the inner strategies of QTree to virtual scrolling (fix #17941) perf(QTree): QTree opt-in property to enable virtual scrolling (fix #17941) Jan 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant