• That's the main one and you should see some decent speed improvements with that.

    The other one would be to move to DMA. If you reserved 2 LCD_WIDTH length buffers then you could:

    • SPI write immediately on the first pixel received (or if doing fillrect)
    • If in progress, write subsequent pixels (on the same line) int the second buffer
    • When the first DMA finishes, kick off DMA for buffer #2

    I believe this is the sort of thing @fanoush already tried when he ported to some watches with SPI displays - you can effectively be doing the transmission at the same time as working out the next stuff to draw.


Avatar for Gordon @Gordon started