Open jepler opened 4 years ago
I've seen this with internal flash as well. If the load isn't in on-disk order then it is super slow.
With the pixel loading code I tried to ensure it always loads from the source bitmap by row. The code to do it is here: https://github.com/adafruit/circuitpython/blob/master/shared-module/displayio/TileGrid.c#L429
On pygamer, which has a screen with rotation 270, displaying a fullscreen bitmap from SD takes about 20 seconds.
How to reproduce:
If the "transpose" property of the tilegrid is set to True, it is quite a bit faster.
Reportedly, the pyportal is much better.
Notably, pygamer has a rotation of 270, while pyportal has a rotation of 0.
hypothesis: when the bitmap is loaded OTHER THAN its on-disk order, the overhead of all the disk seeks becomes enormous, particularly when going through adafruit_sdcard.