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


Reply via email to