tangled
alpha
login
or
join now
tymek.me
/
plump
1
fork
atom
A custom OS for the xteink x4 ebook reader
1
fork
atom
overview
issues
pulls
pipelines
plump
/
src
/
fonts
/
at
main
2 files
bitmap.rs
repo: rename project from pulp-os to plump
1 week ago
mod.rs
perf: comprehensive speed, memory, and power optimizations Speed: - Swap blit_1bpp_270 loop order (x-outer/y-inner) for sequential strip buffer writes; batch source byte reads (strip.rs) - Batch ASCII advance in wrap_proportional with direct glyph array indexing, bypassing per-byte function call chain (paging.rs) - Skip prescan_image_heights for text-only pages via fast MARKER byte scan before expensive ZIP/SD setup (images.rs) - Remove redundant 4KB replay buffer copy in phase 3 RED RAM write; send strip data directly (ssd1677.rs) - Skip phase 3 sync when a deferred transition is queued, avoiding ~15ms of rendering that will be immediately overdrawn (scheduler.rs) Memory (~35KB static savings): - Heap-alloc EpubToc on demand via Option<Box<EpubToc>> (~13KB) - Heap-alloc prefetch buffer as Vec<u8> instead of [u8; 8192] (~8KB) - Reduce TITLE_CAP 96→64 across DirEntry/BmListEntry/EpubMeta (~4.6KB) - Reduce ZipIndex MAX_ENTRIES 512→256 (~4.5KB) - Free BootConsole after boot via heap Box instead of static (~3KB) - Reduce MAX_PAGES 1024→512 (~2KB) - Shrink title_len/max_lines/qa_count from usize to u8 Power: - Adaptive input polling: 10ms during active input, 50ms when idle after 1 second, reducing ADC wakeups by ~80% during reading
1 month ago