Flickering text help!

Could somebody please tell me the best library to use to display numbers that require refreshing that doesn’t cause flickering?

I am using a mega, with adafruit 3.5 tft(HX8357). RTC DS3231.

Currently using Adafruit.gfx but only the standard font allows background colour.
I would like to use a smoother font but without flicker from filling rect. Etc..

Can anyone help? I am a novice so laymen’s terms please and thanks

This was discussed already if I remember correctly.

I personally would say this: A flicker free graphics display is only possible with some kind of double buffer mechanism. This means either the display controller must have memory for at least twice the number of pixel than the display or the internal RAM of your Arduino board must have enough RAM to hold the complete graphics memory.

Full color TFTs require too much RAM to implement this. None of the TFT Arduino libs known to me, will implement a full buffer in RAM. These libraries will write to the display controller directly, causing the known flicker problem.

There are two options to get a flicker free display from my perspective:

  1. Get a Arduino Board with HUGE amount of RAM and write your own lib
  2. Get a different display: A monochrome display uses lesser RAM and the graphics memory can be placed in memory.

Oliver

It was an Adafruit "policy" decision to make FreeFonts transparent only.

In fact it is much easier for the hardware to draw fonts with background.
Adafruit_GFX software draws text by plotting individual pixels. Hence transparent is "quicker".

Marek Buriak's ILI9341_due or Bodmer's TFT_ILI9341, TFT_eSPI, ... provide "rubout" text drawing.

The punter sees no flicker at all. Only monochrome displays can afford to keep a copy in SRAM. Fine for 128x64. Anything bigger requires more SRAM and/or Oliver's page-slice strategy.

Many libraries inherit from Adafruit_GFX. It is an ethical decision to flout Adafruit's transparent-only design.

Any comments? Would it be "wise" to provide background rendering of FreeFonts ?

David.

david_prentice:
It was an Adafruit “policy” decision to make FreeFonts transparent only.


Any comments? Would it be “wise” to provide background rendering of FreeFonts ?

David.

I vote for an option which selects background rendering which is independent of the font.
(Obviously I have implemented this in that way for u8g2)

Oliver

Just make completely sure that you never update the display unless the data - numbers - you wish to display actually is different.

Also, there may be a lot of stuff that never changes, so that can be established in Setup. And never use
lcd.clear();
unless you have to - which is not often.