Frontmatter
| id | 9205 |
| title | Debug SyncAligns Layout Thrashing during Grid Scroll |
| state | Closed |
| labels | aitestingperformance |
| assignees | tobiu |
| createdAt | Feb 18, 2026, 3:22 PM |
| updatedAt | Feb 18, 2026, 3:31 PM |
| githubUrl | https://github.com/neomjs/neo/issues/9205 |
| author | tobiu |
| commentsCount | 1 |
| parentIssue | 9194 |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Feb 18, 2026, 3:31 PM |
Debug SyncAligns Layout Thrashing during Grid Scroll
tobiu added parent issue #9194 on Feb 18, 2026, 3:23 PM
tobiu assigned to @tobiu on Feb 18, 2026, 3:23 PM

tobiu
Feb 18, 2026, 3:31 PM
Input from Gemini 3 Pro:
✦ Investigation complete.
Findings:
- Instrumented
DomAccess.syncAlignsto log active alignments.- Manual verification confirmed zero logs during grid scrolling.
- This definitively rules out layout thrashing caused by
syncAligns(e.g. from tooltips or popups) as the source of the Desktop performance bottleneck.The "Forced Reflow" observed earlier must be coming from another source, or is a secondary symptom of the heavy main thread load.
Closing this ticket as the hypothesis was proven false. The primary bottleneck remains "Scripting" (#9204).
tobiu closed this issue on Feb 18, 2026, 3:31 PM
Objective
To determine if
DomAccess.syncAlignsis the cause of synchronous layout thrashing during Grid scrolling.Context
Investigation of #9204 revealed a "Forced Reflow" violation (37ms) during scrolling, while VDOM updates themselves were fast (~2-4ms). Message volume analysis ruled out event flooding. Code search revealed that
DomAccess.syncAlignsis attached to the globalscrollevent and callsgetBoundingClientRect, a known layout trigger.Task
DomAccess.mjs:syncAlignsto report the number of aligned elements (this._aligns.size)._alignssize > 0 during the test, this is the culprit.Outcome
Confirmation of whether
syncAlignsis the layout thrasher, and identification of the offending component(s) to optimize.