An experimental TFT_eSPI library branch has been created to support 8 bit parallel TFT's using the Programmable I/O (PIO) feature of the RP2040 processor. The PIO allows dedicated interface types to be created in hardware. The branch can be found here.
Example pin connection setup file here.
The PIO is used to transfer pixels to the TFT, this allows very high data rates (up to 250Mbps) to the TFT making drawing graphics fast.
These are the results for the "graphicstest" on a 240x320 TFT:
Benchmark, Time (microseconds)
Screen fill (5 times), 24865 (201.09 fps)
Text, 7759
Lines, 39323
Horiz/Vert Lines, 2241
Rectangles (outline), 1624
Rectangles (filled), 51657
Circles (filled), 14284
Circles (outline), 13801
Triangles (outline), 9842
Triangles (filled), 24921
Rounded rects (outline), 6208
Rounded rects (filled), 54504
Total = 251029us
Total = 0.2510s
The screen is cleared in under 5ms! For a 320x480 screen the results are:
Benchmark, Time (microseconds)
Screen fill (5 times), 49703 (100.60 fps)
Text, 7610
Lines, 78541
Horiz/Vert Lines, 4332
Rectangles (outline), 2682
Rectangles (filled), 121210
Circles (filled), 28539
Circles (outline), 27030
Triangles (outline), 17529
Triangles (filled), 52934
Rounded rects (outline), 10727
Rounded rects (filled), 125773
Total = 526610us
Total = 0.5266s