# Performance acceptance — 4D Midstream Digital Twin

Headless Chrome (Metal), 1920×1200 buffer at dpr 1 and dpr 2 (Retina-class 3840×2400), 8 s samples per stage, vsync off. Frame times are wall-clock per rAF from the app's own ring buffer (frame pacing, not only average FPS). Generated 2026-09-19T14:42:44.665Z.

| dpr | stage | avg fps | mean ms | 1 % low ms | 0.1 % low ms | worst ms | frames > 33 ms | frames > 50 ms | draw calls | triangles | sim CPU ms/frame | agents ms |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | static | 211.5 | 4.7 | 7.1 | 8.4 | 8 | 0 | 0 | 106 | 0.31 M | 0.00 | 0.03 |
| 1 | moving | 167.2 | 6.0 | 12.3 | 14.6 | 15 | 0 | 0 | 144 | 4.57 M | 0.00 | 0.01 |
| 1 | facility | 147.1 | 6.8 | 9.8 | 12.4 | 12 | 0 | 0 | 133 | 1.32 M | 0.00 | 0.01 |
| 1 | follow | 109.3 | 9.1 | 16.8 | 18.1 | 18 | 0 | 0 | 145 | 5.11 M | 0.00 | 0.03 |
| 2 | static | 110.2 | 9.1 | 11.0 | 17.3 | 17 | 0 | 0 | 106 | 0.31 M | 0.00 | 0.04 |
| 2 | moving | 96.5 | 10.4 | 21.5 | 25.3 | 25 | 0 | 0 | 144 | 4.57 M | 0.00 | 0.02 |
| 2 | facility | 58.1 | 17.2 | 20.5 | 21.0 | 21 | 0 | 0 | 133 | 1.32 M | 0.00 | 0.00 |
| 2 | follow | 58.3 | 17.2 | 19.7 | 20.9 | 21 | 0 | 0 | 145 | 5.35 M | 0.00 | 0.02 |
