π Call for testers: the dev branch is FAAAST β Help battle-test it before release #451
tinchox5
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Hey snapDOM community! π
We just landed a big performance overhaul on the
devbranch and we'd love for the adventurous among you to try it against your real-world apps before it ships.What's new
The capture pipeline got a deep rework: fused tree passes, parallelized network phases (images β₯ backgrounds β₯ fonts), smarter caching that no longer invalidates itself between captures, fewer per-node allocations in the clone hot path, and a leaner rasterization path (no more full multi-MB SVG decode just to read a header, async canvas encoding).
Zero fidelity cost: all 47 visual regression baselines pass unchanged β same pixels, less time.
The numbers π
From our benchmark suite (Chromium, headless), comparing
devagainst the published 2.16.0:toPngat scale 2 (compress on)In the image-gallery raster scenario, snapDOM on
devis now the fastest option overall in our suite β ahead of html-to-image (1.26Γ) and roughly 2Γ html2canvas.Measured on a MacBook Air (M5). Your mileage may vary β that's exactly why we want your numbers too. π
Bonus: new toys to try
reconcile: trueβ measures the clone in-document and pins only diverging boxes (measurement over heuristics forlayout fidelity).
snapdom.session(el)β repeated captures of the same element: instant when nothing changed, warm caches when itdid. Great for frame loops and live previews.
resolveNodeplugin hook β per-node replace/skip from a plugin (redaction, custom widgets). SeePLUGIN_SPEC.md.How to test
Then point your app at the freshly built
dist/snapdom.mjs(ornpm linkthe folder). If you want to reproduce thebenchmarks yourself:
npx playwright install.What we're looking for
Drop your results below β good, bad or weird. Thanks for helping make snapDOM faster for everyone! π
All reactions