mirror of
https://github.com/storytold/figcraft.git
synced 2026-11-13 01:11:11 +00:00
The canvas drew an image shown smaller than its pixels from a 4096 or 8192 px copy, and an image of 4096 px or less from itself, whatever its size on screen. A page of a few hundred photos zoomed out then asks the decoded-image cache (512 MB) for several GB: every render decoded them again, and a zoom out took seconds with the canvas empty around the old frame. The copies now also come at 256, 512, 1024 and 2048 px, the smallest that holds the size shown. Measured on a file with 237 images (median 5.8 MP), canvas options, 2352 x 2090 view, M4 Max: | zoom | before | after, first | after, again | |---|---|---|---| | 10% | 0.25 s | 0.12 s | 6 ms | | 4% | 0.88 s | 0.46 s | 7 ms | | 1% | 3.4 s | 0.9 s | 4 ms | Peak memory over the run went from 3.9 GB to 2.3 GB. Exports and views at 100% and closer still draw from the image itself. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>