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.

Reply via email to