You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: resources/content/release-notes/v12.0.0.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -110,11 +110,14 @@ sequenceDiagram
110
110
Store-->>Grid: Fire 'load' event
111
111
```
112
112
113
+
4.**Performance Theater: The "Show Off" Effect:**
114
+
* To prove the Main Thread is completely unblocked by the Grid's layout during a scroll, the DevIndex app intentionally **doubles the animation speed** of the complex 3D Luminous Flux header when you scroll. The Canvas worker smoothly accelerates the physics `timeScale` while the grid scrolls underneath it, proving visually that heavy canvas operations cannot block the App Worker's scrolling logic.
115
+
113
116
---
114
117
115
118
## 🏎️ Hero Story 2: Grid Supremacy (The Ultimate Flex)
116
119
117
-
The DevIndex UI is a torture test. It renders live, animated data charts ("Living Sparklines") inside every single row of a 50k-record grid, alongside complex icon components and country flags, while a 3D particle simulation ("Luminous Flux") runs in the header.
120
+
The DevIndex UI is a torture test. It renders live, animated data charts ("Living Sparklines") inside every single row of a 50k-record grid, alongside complex icon components and country flags.
118
121
119
122
**The Challenge:** High-frequency scrolling a 50k-row grid causes severe DOM thrashing in traditional architectures. Previously, `Neo.grid.Body` acted as a monolithic renderer. While we had component-based columns before, they manually created and destroyed instances for the mounted row range, relying on expensive `moveNode` operations as rows cycled. The Main Thread simply cannot calculate virtualized DOM node insertions, removals, or reorders *while* executing heavy physics for 50+ canvas animations without dropping frames.
120
123
@@ -167,9 +170,6 @@ flowchart TD
167
170
* To maintain a strict 16ms frame budget (60fps) without Garbage Collection (GC) stutters, the physics engine uses a **Zero-Allocation** strategy (cached geometry, pre-allocated `CanvasGradient` objects).
168
171
* To prevent GPU overload, it uses a **"Sparse Animation Strategy"**. A single master loop randomly selects *one* chart to pulse with a "Data Packet" every few seconds. This creates the visual impression of a highly active, living system ("The Server Room Effect") while keeping actual GPU load equivalent to rendering just a single chart.
169
172
170
-
6.**Performance Theater: The "Show Off" Effect:**
171
-
* To prove the Main Thread is completely unblocked by the Grid's layout during a scroll, we intentionally **double the animation speed** of the complex 3D Luminous Flux header when you scroll. The Canvas worker smoothly accelerates the physics `timeScale` while the grid scrolls underneath it, proving visually that heavy canvas operations cannot block the App Worker's scrolling logic.
172
-
173
173
**The Best Part: Zero Migration Effort**
174
174
Despite being a fundamental, ground-up rewrite of the framework's most complex component, the new Grid is a **100% drop-in replacement**. All your existing grid configurations, custom cell renderers, and stores will work out of the box with massively upgraded performance.
0 commit comments