You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 944956e
Browse filesBrowse the repository at this point in the historyBrowse files
displayio: composite common TileGrid rows without per-pixel calls
For the common case - an 8 or 16 bpp Bitmap, a Palette without
dithering, a 16 bpp display, no scaling, no x flip and no transpose -
fill_area now handles a row in one function: it reads the bitmap row
directly and takes the colour from the palette cache. The per-pixel
calls to get_pixel and palette_get_color, and the type checks, are
gone. Everything else takes the existing loop.
Full-screen repaint, before -> after (both commits):
PicoPad (RP2040) 320x240 297 -> 90 ms
PyBadge (SAMD51) 160x128 61 -> 30 ms
Feather ESP32-S3 TFT 240x135 72 -> 53 ms
Flash +0.8 to +0.9 KB depending on the port.
Output is unchanged: 16 test scenes checksum identically via
BusDisplay.fill_row on all three boards, including overlapping 8 bpp
layers with transparent colours, a 16 bpp bitmap with indices past the
end of its palette, and a TileGrid with more than 255 tiles.
0 commit comments