For reference bounce.py demo on ILI9341 (SPI bus speed @ 32MHz) run at approx 10 FPS on RPI B4 using the current implementation. For the new implementation, bounce.py is reporting the following FPS for the following segment size:
num_segments
FPS
100
60
64
70
25
86
16
75
4
24
1
10
Obviously a segment size of 1 - this is equivalent to the current implementation, but for the others WOW! ... I didn't expect such a huge improvement. The best value for num_segments will largely depend on what the application draws on the screen, but for the bounce demo, having 25 segments appeared to be the sweet spot for maximal frame rate.
Implementation status
🟢 ST7735 🟢 HD44780 🟢 ILI9341
Notes
For reference bounce.py demo on ILI9341 (SPI bus speed @ 32MHz) run at approx 10 FPS on RPI B4 using the current implementation. For the new implementation, bounce.py is reporting the following FPS for the following segment size:
num_segments
Obviously a segment size of 1 - this is equivalent to the current implementation, but for the others WOW! ... I didn't expect such a huge improvement. The best value for
num_segments
will largely depend on what the application draws on the screen, but for the bounce demo, having 25 segments appeared to be the sweet spot for maximal frame rate.