Quantcast
Channel: Intel Communities: Message List
Viewing all articles
Browse latest Browse all 18347

Re: Adafruit 2.8 inch TFT screen

$
0
0

I have a 2.8" TFT display connected to a Galileo Gen2. I was initially really discouraged, because the performance of the graphicstest sketch was truly miserable.

 

I spent the day with this display today, seeing how far I could take graphics performance. Relative to the Intel-tweaked Adafruit_ILI9341 driver, I got between 100-900x speedups, which was heartening. My initial gains were thanks to KurtE's tweaks, mostly reducing the clock divider.

 

Additionally, I implemented a buffered version of the Adafruit_ILI9341 class, writing to a dynamically allocated framebuffer, and only presenting the buffer at the end of each test. I'm a software guy, so I was seeking the wins where I could get them. This greatly reduced the number of SPI calls, which makes a difference when you're setting a lot of pixels individually. I copy the framebuffer five rows at a time, nearly maxxing out the 4KB transferBuffer limit. If I could bump that up to 160KB, I could reduce the number of SPI calls by another factor of ~40, which might bring us into the realm of real-time rendering.

 

For posterity, here are the timings I got with my tests today (all in microseconds). Note that the Buffered times are utterly dominated by the transferBuffer calls, which take 90% of the frame time.

 

IntelKurtEBuffered
Screen fill     19277465147306771825354
Text            945530412460079362628
Lines          90336688125691539 367325
Horiz/Vert Lines157089561074873 362216
Rectangles (outline)10014384 1360335382467
Rectangles (filled) 400070832 10033802 415219
Circles (filled)   5581994155064526366767
Circles (outline) 3952260855042394363256
Triangles (outline)2869661339951955 362937
Triangles (filled)  12980696625068099375621
Rounded rects (outline)18880964 17110463362374
Rounded rects (filled)43462316022428444410756

 

The takeaway for me is that Galileo is harshly bandwidth-limited over the SPI interface, but with careful management of calls, you can use this display in applications that don't require real-time responsiveness.


Viewing all articles
Browse latest Browse all 18347

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>