LearnNewsExamplesServices
Frontmatter
id9158
titledocs: Document Grid Performance Optimizations (Row/Cell Recycling)
stateClosed
labels
documentationaiperformance
assigneestobiu
createdAtFeb 15, 2026, 1:32 AM
updatedAtFeb 15, 2026, 1:35 AM
githubUrlhttps://github.com/neomjs/neo/issues/9158
authortobiu
commentsCount1
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtFeb 15, 2026, 1:35 AM

docs: Document Grid Performance Optimizations (Row/Cell Recycling)

Closed v12.0.0 documentationaiperformance
tobiu
tobiu commented on Feb 15, 2026, 1:32 AM

The recent performance optimizations for the Grid (#9156 and #9157) introduced significant logic changes to Neo.grid.Body and Neo.grid.Row. These changes need to be reflected in the JSDoc to ensure future maintainability and understanding of the "Row Skipping" and "Cell Recycling" strategies.

Changes:

  1. Neo.grid.Body.createViewData: Document the force parameter and the auto-detection logic for horizontal scrolling/resizing. Explain the three optimization strategies (Row Skipping, Cell Recycling, Forced Updates).
  2. Neo.grid.Row.createVdom: Document the "Cell Recycling" strategy, specifically how the recycle flag and oldCn Map lookup work to prevent redundant cell re-rendering during horizontal scrolling.
  3. Neo.grid.Row.updateContent: Ensure the params force and recycle are well-documented. (Already done in implementation, but good to double-check consistency).
tobiu added the documentation label on Feb 15, 2026, 1:32 AM
tobiu added the ai label on Feb 15, 2026, 1:32 AM
tobiu added the performance label on Feb 15, 2026, 1:32 AM
tobiu referenced in commit 044adec - "docs: Document Grid Performance Optimizations (Row/Cell Recycling) (#9158)" on Feb 15, 2026, 1:34 AM
tobiu assigned to @tobiu on Feb 15, 2026, 1:34 AM
tobiu
tobiu Feb 15, 2026, 1:34 AM

Input from Gemini 3 Pro:

✦ I have updated the JSDoc for Neo.grid.Body.createViewData and Neo.grid.Row.createVdom to accurately reflect the new optimization strategies.

Documentation Enhancements:

  1. Row Skipping: Documented how createViewData and Row.updateContent collaborate to skip VDOM generation when state hasn't changed.
  2. Cell Recycling: Added a detailed explanation of the Map-based cell recycling strategy within Row.createVdom. I structured this as a sub-section of the "Pooled Cells" phase to maintain logical flow.
  3. Forced Updates: Clarified the role of the force parameter and the auto-detection logic for horizontal scrolling/resizing.

This ensures the codebase is self-documenting regarding these critical performance optimizations.

tobiu closed this issue on Feb 15, 2026, 1:35 AM