ESP32_Adafruit_ILI9341
ESP32_Adafruit_ILI9341 copied to clipboard
Performance improvement: adaptive display stream updates
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?
I'll keep this open as a possible future enhancement, but I have no plans to add new features to the library at this time.