Both panels render the same random scatter plot data. The left panel uses <canvas> (immediate mode), the right uses <svg> with individual <circle> elements (retained mode). Drag the slider to increase the point count and watch the FPS counters diverge.
| Point Count | Canvas Behavior | SVG Behavior |
|---|---|---|
| 100 | 60 FPS — effortless | 60 FPS — effortless |
| 1,000 | 60 FPS — no change | ~55–60 FPS — slight overhead |
| 5,000 | 60 FPS — still fine | ~20–40 FPS — visible stutter |
| 10,000 | ~55–60 FPS | ~5–15 FPS — sluggish |
| 50,000 | ~30–50 FPS | <1 FPS — frozen |
The exact numbers depend on your hardware, but the relative behavior is consistent: Canvas degrades gracefully while SVG hits a wall around 5,000–10,000 elements.