I have been experimenting with "sub-pixel" anti-aliased graphics and it seems to be working quite well.
The TFT_eSPI library will be updated soon to add some new line drawing functions. This is the result so far:
Note the accelerated speed minute hand is moving slowly through the discrete pixel locations.
The bad news is that floating point calculations including a divide and square root is required per pixel, so this will be too slow to implement on some processors and a higher performance (e.g. ESP32 or equivalent with floating point hardware) will be needed to get good rendering speed.
Awesome. I had only seen it on chips like the FT813, I never imagined seeing it in chips like the ILI9341. Thanks for the enormous work.
If it's not too much trouble, is it possible that TFT_eSPI will one day be able to work on teensy 4.x boards? 600 MHz and a little more muscle coexist there and the floating point unit is native ...
TFT_eSPI should work on any Arduino board that has sufficient memory. It is optimised for ESP32, ESP8266 and STM32 processors to speed up the graphics transfer to screen. For other processor it falls back to the basic Arduino SPI library which uses basic read/write functions (not SPI I/O buffers), thus it should work on a Teensy but with lower average data rates to the screen.
I was given a Teensy 3.6 but never powered it up and I am not sure where I put it... so am unable to test with the library. Unfortunately adding optimisation involves quite a bit of work as the processor hardware and software support needs to be understood.
I try to support the "low cost" boards, so as soon as the Arduino environment is available I will add support for the new Raspberry Pico. This looks like a really good processor for displays due to the programmable I/O and FIFO features, (data and I/O toggle management can be in hardware independant of the processor) but the floating point performance will be less due to no FPU (it does have optimised ROM functions though).
A beta test branch has been created, this has some new anti-aliased line functions (drawSpot, drawWideLine and drawWedgeLine), see the new Anti-aliased_Clock_v3 example. Comments in discussions tab (not issues at the moment please) are welcome.
The new example will run on ESP8266 and ESP32 as it uses a web based NTP server so your Wifi details must be added.
A sketch compatible with STM32/Nucleo boards will be added soon.
The rendering performance of images (jpeg, sprites etc) for ILI9488 SPI displays has been improved significantly too.