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
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 ().