---
date: 2026-02-10
version: "v2.3.2"
title: "Annotation panel performance"
tags: ["Improvement"]
summary: "Annotation panel now renders 3x faster on specs with 200+ components. Virtualized list replaces full DOM render."
draft: false
---

The annotation panel on large specs was a known pain point. On specs with more than 200 components, the panel would freeze for 2–4 seconds on first open and scroll sluggishly after that. This release fixes it.

## What we changed

We replaced the full DOM render with a virtualized list using a windowing approach: only annotations currently in the viewport (plus a 150px buffer above and below) are rendered in the DOM. As you scroll, annotations are swapped in and out efficiently without layout thrash.

The result is a **3x improvement in initial render time** on specs with 200+ components, and smooth 60fps scrolling on specs with up to 1,000 components in our testing.

## Benchmark

| Spec size | Before (ms) | After (ms) | Improvement |
|-----------|-------------|------------|-------------|
| 50 components | 180 | 160 | ~11% |
| 200 components | 1,840 | 610 | **67%** |
| 500 components | 4,200 | 820 | **81%** |

No settings changes are needed. The virtualized panel is the default for all users. If you notice any annotation rendering issues (particularly with annotations that rely on dynamic height), please file a support ticket with a spec link.
