- Introduced export schema for JSON data structure. - Created renderer contract detailing canvas/SVG rendering requirements. - Defined IndexedDB storage schema and migration strategies. - Documented data model including entities and relationships. - Developed implementation plan outlining execution flow and project structure. - Provided quickstart guide for development environment setup. - Compiled research documentation on performance, accessibility, and theming. - Established feature specification with user scenarios and functional requirements.
1.4 KiB
1.4 KiB
Research: Canvas/SVG Performance on Mobile
Hypothesis
We can sustain 60 fps for 150–365 tiles with glow/overlay on mid-range devices by batching draws and minimizing per-frame allocations.
Questions
- FPS across tile counts (30, 90, 180, 365) and DPR (1.0, 2.0, 3.0)
- Cost of static overlay and glyph rendering
- Breakpoints for reduced motion or static rendering
Method
- Use
/packages/viz/poc/index.htmlharness - Test devices: low-end Android, mid Android, iPhone
- Record FPS and memory; profile with devtools
Test Matrix (fill during runs)
| DPR | Animate | Tiles | FPS | Notes |
|---|---|---|---|---|
| 1 | false | 30 | ||
| 1 | false | 90 | ||
| 1 | false | 180 | ||
| 1 | false | 365 | ||
| 1 | true | 30 | ||
| 1 | true | 90 | ||
| 1 | true | 180 | ||
| 1 | true | 365 | ||
| 2 | false | 30 | ||
| 2 | false | 90 | ||
| 2 | false | 180 | ||
| 2 | false | 365 | ||
| 2 | true | 30 | ||
| 2 | true | 90 | ||
| 2 | true | 180 | ||
| 2 | true | 365 |
Acceptance
- 55–60 fps at 180 tiles on mid devices
- Document fallback thresholds and settings
Deliverables
- Metrics table; recommendations for renderer design