120Hz: render-ahead VERIFIED on phone — steady scroll effectively zero-jank
sltest (minimal 100-row grid), phone, 2x4s drags, 1433 transitions:
- steady 401-frame burst: phase 0.39-1.06ms (spread 0.67, was 1.5),
1/401 slot jumps, 0 doubles — the held frame presents at render start
(edge+~1ms), constant phase, 4ms deadline margin
- residual 0.7% drops/doubles concentrated at drag start/stop transitions
- spike classifier (rcpu): all 13 spikes >6ms are CPU-bound (Skia/driver
CPU, not GPU block) and render-ahead ABSORBS them (13 spikes -> 1
skipped frame)
Remaining: user finger-perception test (sltest + gallery), then the 1.3%
CPU spikes if anything remains.