3 Replies Latest reply on Oct 1, 2020 7:18 PM by EdHa_4455331

    GUI_DispStringAt speed problem

    EdHa_4455331

      The string rendering function GUI_DispStringAt() in emWin seems to be a real dog. I can type faster than it can render text to the display.

       

      Anybody have any tricks on how to speed it up or a viable alternative that doesn't require the complete replacement of emWin?

       

      Thanks,

       

      Ed H.

        • 1. Re: GUI_DispStringAt speed problem
          DheerajK_81

          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.

           

          Regards,
          Dheeraj

          • 2. Re: GUI_DispStringAt speed problem
            EdHa_4455331

            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.

            • 3. Re: GUI_DispStringAt speed problem
              EdHa_4455331

              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.

              1 of 1 people found this helpful