Files
zed/crates
yenru0 0030767614 image_viewer: Fix PDF zoom lag and silent annotation no-ops
Zoom lag: page rasterization ran synchronously on the UI thread with the
exact zoom in the cache key, so every wheel tick re-rendered every
visible page before the next frame. Rasterization now happens in a
background task at a quantized zoom bucket (x1.25) while the closest
already-rendered bitmap stays on screen scaled to the layout; completed
renders swap in via notify. Frames the cache refuses (larger than the
budget) are never re-rendered, which previously spun an infinite
render loop.

The mock fallback renderer skipped the MAX_PAGE_DIMENSION clamp the
native path applies, so its frames grew past the cache budget at high
zoom and were refused on every attempt; the cap is now shared, and
lowered from 8192 to 4096 (a 1080p viewport is oversampled ~4x at that
point, and the worst-case frame drops from 207MB to 67MB).

Annotations: the bundled libpdfium.so was never loaded because the
loader only tried working-directory-relative paths; it now also
resolves next to the executable, matching the bundled layout. Ink,
highlight, and delete editing returned Ok with unchanged bytes when no
native engine was present, so strokes silently did nothing; they now
return errors that surface through the existing logging.
2026-10-08 12:00:01 +09:00
..
2026-09-17 08:49:31 +00:00
2026-09-17 08:49:31 +00:00
2026-09-17 08:49:31 +00:00
2026-08-09 22:29:52 +00:00
2026-09-17 08:49:31 +00:00
2026-09-17 08:49:31 +00:00
2026-09-17 08:49:31 +00:00
2026-09-17 08:49:31 +00:00
2026-09-17 08:49:31 +00:00
2026-09-17 08:49:31 +00:00
2026-09-17 08:49:31 +00:00
2026-09-17 08:49:31 +00:00
2026-09-17 08:49:31 +00:00
2026-09-11 09:13:44 +00:00
2026-09-17 08:49:31 +00:00
2026-09-17 08:49:31 +00:00
2026-09-17 08:49:31 +00:00