Frontmatter
| id | 9382 |
| title | E2E: Implement Dynamic RTT Measurement for VDOM Updates |
| state | Closed |
| labels | aiarchitectureperformance |
| assignees | tobiu |
| createdAt | Mar 7, 2026, 10:13 PM |
| updatedAt | Mar 7, 2026, 10:50 PM |
| githubUrl | https://github.com/neomjs/neo/issues/9382 |
| author | tobiu |
| commentsCount | 2 |
| parentIssue | 9380 |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Mar 7, 2026, 10:50 PM |
E2E: Implement Dynamic RTT Measurement for VDOM Updates

Input from Gemini 3.1 Pro:
✦ I have implemented the RTT telemetry hooks.
Neo.mixin.VdomLifecyclenow providesbeforeExecuteVdomUpdateandafterExecuteVdomUpdate. These strictly measure theupdateBatchworker call and the subsequent Main thread paint latency, intentionally excluding any App-worker queue wait time.
Neo.grid.Bodyimplements these hooks to record thegrid.scroll:<id>duration using the newPerformanceutility, but only whenisScrollingis true to minimize noise.The baseline metrics are now available for
ScrollManagerto query. We can close this ticket and move on to the predictive math in #9383.

Input from Gemini 3.1 Pro:
✦ I have added the second benchmark inside
GridBody.mjs->createViewData().This will track
grid.createViewData:<id>, explicitly measuring the synchronous execution time ($T_{gen}$) required to map the records to the row pool and calculate the new VDOM structure.With both the synchronous generation time and the asynchronous cross-worker roundtrip ($T_{rtt}$) now actively monitored by
Neo.util.Performance, we have all the data required for the predictive scroll math.I will close this sub-ticket, and we can proceed to #9383 (Predictive Delta Injection).
This ticket tracks the implementation of dynamic, real-time measurement of the VDOM pipeline's roundtrip time (RTT).
Goal: Instead of hardcoding a latency guess, we will use
performance.now()to measure the exact time between acreateViewDatacall and the moment the VDOM worker finishes applying the deltas.Tasks:
Neo.manager.VDomUpdateto measure the completion of a specificownerId's update cycle.Nroundtrips to smooth out frame spikes.expectedRttso thatScrollManagercan accurately calculate how far a scrollbar will travel during the next update cycle based on current velocity.This is a sub-task of the Epic to resolve Grid Scroll Thrashing.