I have not seen any problems with this function before. It is hard to tell what's going wrong here, since it can be an EmWin configuration issue.
What is the display, display driver, display interface and device being used? Please attach your project if possible.
I've had a little more time to dig into this issue.
The problem seems to be that emWin writes out the bitmap one bit at a time. This may be OK on a parallel interface, but I have a serial interface on a shared SPI bus. So each call has to go through the SPI driver and do an exchange over the SPI bus, all of which slows down the overall speed.
An improvement would be for emWin to write a column at a time instead of a bit at a time. But I suppose there is nothing we can do about that.
1 of 1 people found this helpful
OK, I'll eat a little crow on this one. Yes, it you do a GUI_DispStringAt() directly to a LCD on a serial bus, the performance is abysmal. HOWEVER... If you do the GUI_DispStringAt() to a small memory device and then follow up with a GUI_MEMDEV_CopyToLCD(), the performance is quite snappy.