how to speed up refreshing tft display

Greeatings .

I make my own board for tft display . Now i have one problem with refresing . I use mega 2560 to main controler and SPI communication beetwen mega and tft. Have someone same problem and can anyone help me to fix it . On link I show how display work . https://vimeo.com/227229150

We do not know what display you are using. Or which library.

There are several libraries for an SPI ILI9341 e.g. ILI9341_Due from MarekB (works on a 3.3V Uno too) ILI9341_PDQ from ? TFT_ILI9341 from Bodmer Adafruit_ILI9341 ...

Note that most displays are 3.3V. Your Mega2560 is 5V You must have level converters for the logic.

The first two libraries are very fast. They all handle complex fonts.

Yes, your video looks very slow. I presume that you want to watch the new number being drawn.

David.

david_prentice: We do not know what display you are using. Or which library.

There are several libraries for an SPI ILI9341 e.g. ILI9341_Due from MarekB (works on a 3.3V Uno too) ILI9341_PDQ from ? TFT_ILI9341 from Bodmer Adafruit_ILI9341 ...

Note that most displays are 3.3V. Your Mega2560 is 5V You must have level converters for the logic.

The first two libraries are very fast. They all handle complex fonts.

Yes, your video looks very slow. I presume that you want to watch the new number being drawn.

David.

Greeatings.

I use mega2560 and ili9488 tft.

I use librar ILI9488 and i have shifter for convert 5 to 3.3v IM are all 1 1 1

Ok. So your panel is 320x480 compared to the ILI9341's 240x320. You have 2x the number of pixels to draw.

If you are using IM=7, that is 4-wire SPI and will work with ATmega2560 hardware.

I have written an SPI library for ILI9488 but never published it. (or even tested it) I have never heard of or seen any other ILI9488 SPI library but it is easy enough to adapt any of the many ILI9341 libraries. Please post a link to the actual library that you are using.

The theoretical time for filling the 320x480 screen @ SCK=8MHz is 320x480x3 = 460800us i.e. half a second. If you use an ESP8266, ESP32, ARM, ... you can achieve faster SPI and even use DMA.

As far as I can remember, you can only write 18-bit color pixels on this controller with SPI. If you could use 16-bit 565 like on parallel, the fillScreen() becomes 0.307 seconds.

I do not own an SPI ILI9488. So this is speculation on my part.

You can run the standard "Adafruit Tests" to see how long your library takes for fillScreen(). It is not possible for me to time your video. But it looks like at least 1.0 second to clear the screen.

David.

Interesting. The text at the top appears not to be cleared when the big digit is erased.

How is your code clearing and then drawing on the screen? Is it drawing one pixel at a time?

@t0r30rs

Speed up options are:

  1. Use 16 bit colour = 1.5 x faster
  2. Use an SPI optimised library => 2 x faster
  3. Use 16 bit colour and an SPI optimised library => 3 x faster
  4. Use a 16bit colour, 16 bit parallel interface and an optimised library => 8 x faster
  5. Use a faster processor and faster SPI clock (Due, STM32, ESP8266 etc) => maybe 6 x faster

david_prentice: Ok. So your panel is 320x480 compared to the ILI9341's 240x320. You have 2x the number of pixels to draw.

If you are using IM=7, that is 4-wire SPI and will work with ATmega2560 hardware.

I have written an SPI library for ILI9488 but never published it. (or even tested it) I have never heard of or seen any other ILI9488 SPI library but it is easy enough to adapt any of the many ILI9341 libraries. Please post a link to the actual library that you are using.

The theoretical time for filling the 320x480 screen @ SCK=8MHz is 320x480x3 = 460800us i.e. half a second. If you use an ESP8266, ESP32, ARM, ... you can achieve faster SPI and even use DMA.

As far as I can remember, you can only write 18-bit color pixels on this controller with SPI. If you could use 16-bit 565 like on parallel, the fillScreen() becomes 0.307 seconds.

I do not own an SPI ILI9488. So this is speculation on my part.

You can run the standard "Adafruit Tests" to see how long your library takes for fillScreen(). It is not possible for me to time your video. But it looks like at least 1.0 second to clear the screen.

David.

https://github.com/jaretburkett/ILI9488 this library i use , i try grafictest of this library same problem , slow refreshing , if you know how can i fix this library to my tft please help .

Thank you

bodmer: @t0r30rs

Speed up options are:

  1. Use 16 bit colour = 1.5 x faster
  2. Use an SPI optimised library => 2 x faster
  3. Use 16 bit colour and an SPI optimised library => 3 x faster
  4. Use a 16bit colour, 16 bit parallel interface and an optimised library => 8 x faster
  5. Use a faster processor and faster SPI clock (Due, STM32, ESP8266 etc) => maybe 6 x faster

Greeatings .

Do you know which library is optimised for my tft ILI9488 ? Have you some library for this display? I use 16 bit color but maybe library is problem ? I make my own board for spi 4 wire communication and I cant make change .

david_prentice: Ok. So your panel is 320x480 compared to the ILI9341's 240x320. You have 2x the number of pixels to draw.

If you are using IM=7, that is 4-wire SPI and will work with ATmega2560 hardware.

I have written an SPI library for ILI9488 but never published it. (or even tested it) I have never heard of or seen any other ILI9488 SPI library but it is easy enough to adapt any of the many ILI9341 libraries. Please post a link to the actual library that you are using.

The theoretical time for filling the 320x480 screen @ SCK=8MHz is 320x480x3 = 460800us i.e. half a second. If you use an ESP8266, ESP32, ARM, ... you can achieve faster SPI and even use DMA.

As far as I can remember, you can only write 18-bit color pixels on this controller with SPI. If you could use 16-bit 565 like on parallel, the fillScreen() becomes 0.307 seconds.

I do not own an SPI ILI9488. So this is speculation on my part.

You can run the standard "Adafruit Tests" to see how long your library takes for fillScreen(). It is not possible for me to time your video. But it looks like at least 1.0 second to clear the screen.

David.

can you send me your library , i can test on my display ?

david_prentice: Ok. So your panel is 320x480 compared to the ILI9341's 240x320. You have 2x the number of pixels to draw.

If you are using IM=7, that is 4-wire SPI and will work with ATmega2560 hardware.

I have written an SPI library for ILI9488 but never published it. (or even tested it) I have never heard of or seen any other ILI9488 SPI library but it is easy enough to adapt any of the many ILI9341 libraries. Please post a link to the actual library that you are using.

The theoretical time for filling the 320x480 screen @ SCK=8MHz is 320x480x3 = 460800us i.e. half a second. If you use an ESP8266, ESP32, ARM, ... you can achieve faster SPI and even use DMA.

As far as I can remember, you can only write 18-bit color pixels on this controller with SPI. If you could use 16-bit 565 like on parallel, the fillScreen() becomes 0.307 seconds.

I do not own an SPI ILI9488. So this is speculation on my part.

You can run the standard "Adafruit Tests" to see how long your library takes for fillScreen(). It is not possible for me to time your video. But it looks like at least 1.0 second to clear the screen.

David.

do you have some good information for me ?

I need to do some "tidying" before publishing the ILI9488_kbv code. Probably within the next few days.

I note that EastRising have only got very trivial example code for SPI ILI9488. And it is written for an 3.3V 8051 using Keil IDE.

David.

david_prentice: I need to do some "tidying" before publishing the ILI9488_kbv code. Probably within the next few days.

I note that EastRising have only got very trivial example code for SPI ILI9488. And it is written for an 3.3V 8051 using Keil IDE.

David.

Ok thank you , i will work on this library if i do somthing good I say you.

david_prentice:
I need to do some “tidying” before publishing the ILI9488_kbv code. Probably within the next few days.

I note that EastRising have only got very trivial example code for SPI ILI9488. And it is written for an 3.3V 8051 using Keil IDE.

David.

greeatings

Have you some new code for me ?

No, but my intention is to tidy up ILI9163_kbv, ILI9225_kbv, ST7735_kbv, ILI9341_kbv, ILI9481_kbv, ILI9488_kbv today.

First job is to get my blood pressure up. Go out on my cycle.

David.

david_prentice:
No, but my intention is to tidy up ILI9163_kbv, ILI9225_kbv, ST7735_kbv, ILI9341_kbv, ILI9481_kbv, ILI9488_kbv today.

First job is to get my blood pressure up. Go out on my cycle.

David.

sorry i just ask .