# Hardware and platform parity > **Last reviewed:** 2026-10-10 · **Last updated:** 2026-10-10 · **Change:** major (created) · **Target:** Figma Design (desktop app 126.10.7) How FigCraft uses hardware and which platforms it runs on, against Figma. Figma's desktop app is Electron with a GPU helper process; its canvas renders on the GPU (WebGL, with WebGPU rolling out since 2025). FigCraft renders the canvas on the CPU and presents it through wgpu. **Summary (estimated):** hardware ~50%, performance ~60%, platforms ~75%. ## Hardware | Feature | Figma | FigCraft (macOS / Windows / Linux / web) | Hours | |---|---|---|---| | Canvas rendering | GPU | CPU (tiny-skia), banded across cores, retained (re-renders only what an edit or pan touches), levels of detail below 50% zoom; shown through wgpu (WebGPU or WebGL2 in the browser) | 30–60 for a GPU path | | Effects (blurs, glass, noise) | GPU | CPU | in the above | | HiDPI / Retina | yes | yes (all) | — | | Wide-gamut display (Display P3) | yes, on capable displays | colours stored and exported in P3; the screen shows sRGB (egui) | 3–6 | | Trackpad pinch zoom and two-finger pan | yes | yes (egui zoom delta, smooth scroll) | — | | Pen tablet pressure (pencil, Figma Draw brushes) | yes (forum reports of regressions in 2025) | no | 3–6 | | Several windows / multi-monitor | yes (a window per file; presenter in its own window) | one window with file tabs; presenter inside it | 4–8 | | Screen readers | partial | AccessKit tree on desktop (names, roles, states), never tested with a real screen reader; none in the browser | 4–8 + human QA | | Keyboard layouts (non-US) | yes | keymap uses logical keys; not checked on AZERTY/QWERTZ/JIS | 1–2 | ## Performance (measured by `cargo xtask bench`, synthetic files, owner's Mac) | Case | FigCraft | Figma | |---|---|---| | 50k-layer page, zoomed out, full render | ~8 ms (levels of detail) | not timed side by side | | 10k layers: full 1440×900 render | 7–15 ms | not timed | | 10k layers: move one layer, re-render | ~0.2 ms | not timed | | Design system of ~300 components × 2,000 instances: recolour a main used ~900 times | 4–18 ms | not timed | | `.figcraft` at 50k layers: save / load | ~0.09 s / ~0.16 s | n/a | | Idle window | 0 frames, ~0% CPU | — | Nothing has been timed against Figma on the same document (needs `.fig` import). ## Platforms | Platform | Figma | FigCraft | Notes | |---|---|---|---| | macOS | desktop app (Intel and Apple silicon) | universal `.dmg`, signed and notarized (v0.2.0) | where nearly all QA happens | | Windows x64 / arm64 | desktop app | `.msi` and portable zip for x64, x86 and arm64 | built in CI; little hands-on QA | | Linux | none (browser only) | AppImage, `.deb`, `.rpm`, Flatpak, tarball, x86_64 and aarch64; riscv64 tarball | CI tests run here | | FreeBSD | none | tarball | | | Web | primary (figma.com) | `figcraft-web` (WASM, WebGPU/WebGL2), web zip | no accessibility tree; file access through the browser | | iOS / Android | apps: view, comment, mirror prototypes | none (the web build is not touch-first) | 20–40 h for a viewer | ## Revision history | Date | Change | Summary | |---|---|---| | 2026-10-10 | major | Created from the 2026-10-10 re-measure |