Skip to content

perf(grid): avoid setState on every horizontal scroll tick #879

Description

@ZhuchkaTriplesix

Summary

VirtualResultGrid._onHorizontalScroll setStates _scrollOffset whenever the offset moves ≥0.5px. Wide grids then rebuild the virtualized body on every pan frame at 120 Hz. Header/body sync does not need a full setState if offset is applied via a ListenableBuilder / NotificationListener on the scrolling layer only.

Scope

  • Drive sticky header / column clip from the scroll controller without rebuilding row items.
  • Keep the 0.5px dead zone or replace with a transform.

Out of scope

  • Column auto-fit sample scan in LayoutBuilder.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

data-gridInteractive data grid, cell editor, filtering, groupingsfrontendTheme parser epic label: frontendperformanceTheme parser epic label: performance

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions