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

[FW][IMP] data validation: performance of icons #3788

Conversation

fw-bot
Copy link
Collaborator

@fw-bot fw-bot commented Mar 5, 2024

Description

A sheet with a lot of data validation icons was slow to render, because:

  • we loop on all the cells of the data validation, and not only the visible cells
  • we created components even for non-visible cells
  • we use getColDimensionsInViewport which is slow

This commit fixes all of the above. We go from ~10fps to ~45fps when scrolling the sheet.

We could be even faster by not using components and only t-call to templates, but the world isn't ready yet.

Task: : 3773923

review checklist

  • feature is organized in plugin, or UI components
  • support of duplicate sheet (deep copy)
  • in model/core: ranges are Range object, and can be adapted (adaptRanges)
  • in model/UI: ranges are strings (to show the user)
  • undo-able commands (uses this.history.update)
  • multiuser-able commands (has inverse commands and transformations where needed)
  • new/updated/removed commands are documented
  • exportable in excel
  • translations (_t("qmsdf %s", abc))
  • unit tested
  • clean commented code
  • track breaking changes
  • doc is rebuild (npm run doc)
  • status is correct in Odoo

Forward-Port-Of: #3770

A sheet with a lot of data validation icons was slow to render, because:

- we loop on all the cells of the data validation, and not only the
visible cells
- we created components even for non-visible cells
- we use `getColDimensionsInViewport` which is slow

This commit fixes all of the above. We go from ~10fps to ~45fps when
scrolling the sheet.

We could be even faster by not using components and only t-call to
templates, but the world isn't ready yet.

Task: 3773923
X-original-commit: cb53fc2
@robodoo
Copy link
Collaborator

robodoo commented Mar 5, 2024

@fw-bot
Copy link
Collaborator Author

fw-bot commented Mar 5, 2024

This PR targets saas-17.1 and is part of the forward-port chain. Further PRs will be created up to master.

More info at https://github.com/odoo/odoo/wiki/Mergebot#forward-port

@fw-bot
Copy link
Collaborator Author

fw-bot commented Mar 5, 2024

@hokolomopo @LucasLefevre the next pull request (#3789) is in conflict. You can merge the chain up to here by saying

@fw-bot r+

More info at https://github.com/odoo/odoo/wiki/Mergebot#forward-port

@LucasLefevre
Copy link
Collaborator

LucasLefevre commented Mar 5, 2024 via email

robodoo pushed a commit that referenced this pull request Mar 5, 2024
A sheet with a lot of data validation icons was slow to render, because:

- we loop on all the cells of the data validation, and not only the
visible cells
- we created components even for non-visible cells
- we use `getColDimensionsInViewport` which is slow

This commit fixes all of the above. We go from ~10fps to ~45fps when
scrolling the sheet.

We could be even faster by not using components and only t-call to
templates, but the world isn't ready yet.

Task: 3773923
X-original-commit: cb53fc2
Part-of: #3788
robodoo pushed a commit that referenced this pull request Mar 5, 2024
closes #3788

Task: 3773923
X-original-commit: cd9bcee
Signed-off-by: Lucas Lefèvre (lul) <lul@odoo.com>
@robodoo robodoo closed this Mar 5, 2024
@fw-bot fw-bot deleted the saas-17.1-17.0-data-validation-performances-adrm-aOcc-fw branch March 19, 2024 08:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants