ESP32_Adafruit_ILI9341 icon indicating copy to clipboard operation
ESP32_Adafruit_ILI9341 copied to clipboard

Performance improvement: adaptive display stream updates

Open rtek1000 opened this issue 2 years ago • 1 comments

Hello,

I found this:

Given that the SPI bus can be so constrained on bandwidth, how come fbcp-ili9341 seems to be able to update at up to 60fps? The way this is achieved is by what could be called adaptive display stream updates. Instead of uploading each pixel at each display refresh cycle, only the actually changed pixels on screen are submitted to the display. This is doable because the ILI9341 controller, as many other popular controllers, have communication interface functions that allow specifying partial screen updates, down to subrectangles or even individual pixel levels. This allows beating the bandwidth limit: for example in Quake, even though it is a fast pacing game, on average only about 46% of all pixels on screen change each rendered frame. Some parts, such as the UI stay practically constant across multiple frames.

Source: https://github.com/juj/fbcp-ili9341

Would it be possible to add this behavior to this library?

rtek1000 avatar Jan 30 '22 16:01 rtek1000