GUI_Exec() takes time

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • GUI_Exec() takes time

      Hi everyone,

      I am calling GUI_Exec in a task that runs every 50ms, I am in a situation where I have to update 149 buttons (used to represent a core map, background color and text) in the same time.
      The display used as a resolution of 1920x1080.
      The problem is that GUI_Exec() takes up to 1.3 second to execute, which affects my idle task too. Semaphores are used, and below is my configuration.

      Any thoughts of why GUI_Exec() takes so much time when it comes to updates several widgets at this rate? (I know it is a lot to update)

      Also I am using the function GUI_BMP_SerializeExBpp() to create a bitmap, it takes up to 2 seconds to execute this function at 1920x1080

      Thank you in advance for your help.

      David


      /* Multi layer/display support */
      /* Maximum number of available layers */
      #define GUI_NUM_LAYERS 1


      /* Multi tasking support */
      /* Compile with multitasking support */
      #define GUI_OS 1
      /* Max. number of tasks that may call emWin */
      #define GUI_MAXTASK 32


      /* Configuration of available packages */
      /* Support a touch screen (req. win-manager) */
      #define GUI_SUPPORT_TOUCH 0
      /* Support a mouse */
      #define GUI_SUPPORT_MOUSE 0
      /* Memory devices available */
      #define GUI_SUPPORT_MEMDEV 1
      /* Window manager package available */
      #define GUI_WINSUPPORT 1

      #define GUI_SUPPORT_CURSOR 1
      #define WIDGET_USE_FLEX_SKIN 0
      #define GUI_USE_ARGB 1
      #define GUI_USE_BIDI2 0

      /* Define the available number of bytes available for the GUI */
      /* Using Memory Device with transparency (32 bpp) */
      /* ReqMem = 4 bytes / pixel + 1 byte / 8 pixels */
      /* ReqMem = ((XSIZE * 4 + ((XSIZE + 7) / 8)) * YSIZE */
      /* ReqMem = ((1920 * 4) + ((1920 + 7) / 8)) * 1080 */
      /* ReqMem = 8553600 */
      /* ReqMem = 0x828480 */
      #define GUI_NUMBYTES 0x828480

      /* Define the average block size */
      #define GUI_BLOCKSIZE 0x80

      The post was edited 1 time, last by DavidLS ().