2025-02-05 4:58 PM
2025-02-06 8:17 AM
Hello @Nex-Leo and welcome to the community!
TouchGFX runs even when the screen is not changing because he needs to check if something has to change.
Multiple things happens, including a check every ticks (usually 60 times per second).
The handleTickEvent function is called, so make sure to keep the code inside of it as efficient as possible.
Perhaps you have some area of the screen that you invalidate even when nothing is changing, so make sure to optimize your invalidated area.
Finally, the MCU load can be drastically reduce by using a graphic accelerator such as NeoChrom or Chrom-ARTbut this is embedded inside your chip (which one are you using?).
Regards,
2025-02-06 8:17 AM
Hello @Nex-Leo and welcome to the community!
TouchGFX runs even when the screen is not changing because he needs to check if something has to change.
Multiple things happens, including a check every ticks (usually 60 times per second).
The handleTickEvent function is called, so make sure to keep the code inside of it as efficient as possible.
Perhaps you have some area of the screen that you invalidate even when nothing is changing, so make sure to optimize your invalidated area.
Finally, the MCU load can be drastically reduce by using a graphic accelerator such as NeoChrom or Chrom-ARTbut this is embedded inside your chip (which one are you using?).
Regards,
2025-02-06 4:38 PM - edited 2025-02-06 5:00 PM
Hello, @GaetanGodart:
Thank you for your reply, by optimising the invalid operation it does work. Another problem is that I am using STM32U5 chip and when I enable the DMA2D function, the CPU load doesn't decrease, even some slight increase amount.
Regards.
2025-02-07 1:29 AM
Hello @Nex-Leo ,
I am glad it helped you!
Are you using TouchGFX? By default, DMA2D is enable, can you quickly run me through how you enable or disable it? I do not see why enabling DMA2D would increase CPU load, are you sure of your measurements? Does it happens on different UIs?
Regards,