On 4/20/2020 8:45 AM, Gregory Nutt wrote:
when working with some LCDs (such as SSD1306 or Sharp Memory LCD) via
the LCD driver interface, the putrun() method greatly limits the
speed at which you can update the screen, since it imposes one
I2C/SPI transfer per putrun(). This type of graphical LCDs typically
support sending a transfer composed of many rows of data
simultaneously. This is of course much faster.
This is a limitation of the direct LCD interfaces and fake LCD
framebuffer interfaces. The graphics system supports putrectangle and
puttrapezoid as well. Those drivers were are just minor add-ons. If
you want to optimize performance, I would support that ONLY within the
graphics system. I do not want those crappy low-level drivers
controlling the system. They are not important and must not interface
with the supported graphics system.
See nx_fill() and nx_filltrapzoind(0 here:
https://cwiki.apache.org/confluence/display/NUTTX/NX+Graphics+Subsystem