Skip to content

[AnalyticalTable]: [Sluggish scrolling in v2] #6615

Closed

Description

@sdommel

Describe the bug

We are upgrading to v2 and noticed an overall slowdown in the performance of the AnalyticalTable component compared to v1, especially when scrolling.
Performance obviously has to do with the number or rows, columns, cell renderer and so on, but in almost all cases the same tables in v1 behave more performant than in v2.

This is also observable in the docs:
https://sap.github.io/ui5-webcomponents-react/v1/?path=/docs/data-display-analyticaltable--docs
https://sap.github.io/ui5-webcomponents-react/v2/?path=/docs/data-display-analyticaltable--docs

While this is a big table, scrolling is still significantly worse in v2.

Isolated Example

No response

Reproduction steps

Compare scrolling behaviour of the same AnalyticalTable between v1 and v2 by dragging the scrollbar down with the mouse pressed.

Expected Behaviour

Same performance between same tables in v2 compared to v1

Screenshots or Videos

No response

UI5 Web Components for React Version

2.4.0

UI5 Web Components Version

2.4.0

Browser

Chrome

Operating System

Windows

Additional Context

No response

Relevant log output

No response

Organization

No response

Declaration

  • I’m not disclosing any internal or sensitive information.

Activity

  1. azhu716 commented on Nov 14, 2024

    @azhu716

    We have observed the same issue in our project. We found that this function getStyleStoreSymbol is using a significant amount of time:
    image

    And this performance issue is not specific to the AnalyticalTable but it is the most influenced as it will render a huge amount of components. Everything on the same page will become extremely slow.

    Edit: Our observation is not the same as the demo page. On the demo page, it seems the time is mainly spend on layout and Chrome suggests that it's a forced reflow issue.
    image

    Unfortunately it's difficult to create a stackblitz for the performance issue we encountered... Please fix the performance issue on the demo page and I'll try to reproduce the issue with getStyleStoreSymbol.

  2. Lukas742 commented on Dec 5, 2024

    @Lukas742
    Contributor

    Hi @azhu716 & @sdommel,

    With our next release, the performance of the docs view (overview) for the AnalyticalTable will be improved by rendering only the "Default" example initially. Additionally, the default example will then reflect the table's default props only (data and columns).

    Regarding performance, we identified and fixed a memory leak in our StyleStore that affected the AnalyticalTable. A fix will be released next week at the latest.

    We are still exploring ways to further improve performance. A major challenge is syncing the scroll behavior of two containers to ensure the scrollbar is always visible. Our current approach is suboptimal, but even after refactoring, I couldn't find a satisfactory solution. Syncing scrollTop between two containers inherently relies on JavaScript, which impacts performance. Do you have any ideas for a better approach?

    Additionally, we plan to refactor the table to use a single stylesheet, avoiding calls to useStyleSheet deep within the component. This might provide a slight performance boost as well.

  3. fernandademery commented on Jan 3, 2025

    @fernandademery

    We have also been facing performance issues related to the AnalyticalTable, especially with a large dataset and when using a tree table. Is there any planned deadline for the refactors you've mentioned, @Lukas742? And, in the meantime, do you have any recommendations for teams working with the component to improve performance (we have already memoized the columns definition and all callback functions)?

  4. Lukas742 commented on Oct 6, 2025

    @Lukas742
    Contributor

    Hi all,

    The linked PR improves scroll performance overall, with the most noticeable gains when scrolling via the scrollbar.

    If you still experience performance issues, please open a new issue and include a reproducible example. Scroll performance can vary greatly depending on the content being rendered, and custom cells in particular can have a significant impact. Providing a reproducible example ensures we can accurately identify and address the issue.

    Thanks!

  5. ui5-webcomponents-react-bot commented on Oct 6, 2025

    @ui5-webcomponents-react-bot
    Contributor

    🎉 This issue has been resolved in version v2.15.0 🎉

    The release is available on v2.15.0

    Your semantic-release bot 📦🚀

  6. added a commit that references this issue on Oct 6, 2025
    1e70896
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions