Hi there,
I got into Arduino about a week ago, and found some nice recreational programming from digging into the depths of the TFT screen that I got with it. The result is a test repository of different rendering samples that try to drive the screen as fast as possible. See here:
I presume this is a common topic among Arduino developers since the reference implementations are not particularly optimized, so I decided to give it a closer look, and found it to be quite an educational weekend project and an intro to Arduino.
If there are experienced developers out there who'd be able to improve the SD card and TFT library performance further from that of what is posted in the github repository code, I'd be very interested to know! As of now, I seem to find myself being stuck with the limits of the 8MHz/divider 2 hardware SPI communication, and I wonder if it could be made any faster? Is there a computable theoretical limit on how much data can be transferred via SPI to a device? Or is that device specific? Is there a way to remove the divider, and drive the SPI bus at 16MHz?
As of now I seem to be able to peak 1601282 bytes/frame * 18.5 frames/second = 740 KBytes/second worth of SPI communication to the TFT screen when filling the screen with a single color. How does that sound like? I wonder if there are any low level knobs that could be leveraged to squeeze the bandwidth even higher?