Skip to content

Fast tracks Scrolling ​

My tracks scrolling was slow. I did not know if it was from the communication with the screen or from the way I was drawing the UI. After a few tests it was clear: communication is FAST! I can redraw the entire screen with 60FPS. So I needed to render the tracks faster.

The constraints ​

  • I don't have much RAM
  • I don't have Quad SPI
  • ILI9341 has hardware scrolling, but only in portrait, and I am in landscape.

The solution ​

  • Instead of using 16bits per pixel, let's use 1,2 or 4, which for my 240x320 pixels screen means 240x320/8 = 9600 bytes, which represents 9KB, 19Kb or 38KB of RAM.
  • Use a FAST way to paint the screen, using my compact representation of the screen buffer.

The result ​

It is BLAZING FAST!

1 Bit per pixel ​

2 Bits per pixel ​

4 Bits per pixel ​