-
-
Notifications
You must be signed in to change notification settings - Fork 202
perf(grid): Optimize Horizontal Scrolling (Cell Recycling) #9157
Copy link
Copy link
Closed
Labels
aienhancementNew feature or requestNew feature or requestperformancePerformance improvements and optimizationsPerformance improvements and optimizations
Description
Currently, horizontal scrolling in the Grid forces a full re-render of all visible cells (createViewData(force=true)).
This is because Neo.grid.Body detects a change in mountedColumns and triggers a forced update for all rows.
This results in O(N*M) operations (N rows * M columns) even for a 1-column scroll delta.
Optimization Goal:
Implement "Cell Recycling" or efficient DOM updates for horizontal scrolling, similar to how Row Pooling works for vertical scrolling.
Only the cells entering/leaving the viewport (or updating content) should be re-rendered.
Tasks:
- Analyze
Neo.grid.Row.createVdomto see if we can selectively update cells instead of rebuilding the entirecnarray. - Investigate if we can detect the direction of the scroll and only update the leading/trailing edges of the pooled cells.
- Ensure
componentbased columns are properly recycled/moved.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
aienhancementNew feature or requestNew feature or requestperformancePerformance improvements and optimizationsPerformance improvements and optimizations