Page 1 of 1

High CPU Load (>90%) During Screen Animation and Switching on ESP32

Posted: Fri Feb 06, 2026 8:03 am
by Hiten Shah
MCU / Module : ESP32-S3-WROOM-1 16R8.
Purpose : Driving GUI on 5" RGB interface LCD using LVGL with Arduino IDE.

ESP32 Core Version : V 3.3.3
Arduino IDE version : V 2.3.6

Issue :

During normal screen animations(LVGL) and screen transitions, the CPU usage exceeds 90%.
This occurs even with a minimal number of screens and simple animations.
Increasing the number of screens or the complexity of animations can lead to system crashes or restarts.

Request:
What are the best practices to optimize CPU usage during screen updates and animations to prevent crashes or unexpected system restarts?

Re: High CPU Load (>90%) During Screen Animation and Switching on ESP32

Posted: Wed Mar 11, 2026 11:25 pm
by RandomInternetGuy
The CPU SHOULD be in use when animating or switching; it's doing work. If you don't know what work it's doing, a [profiler](https://docs.espressif.com/projects/esp ... rfmon.html) will tell you.

You can reduce the amount of time a CPU will be involved in a draw call by using DMA to have peripherals aboard the chip pick your data up and put it down on where the display can get it without the CPU's involvement.
https://docs.lvgl.io/master/main-module ... setup.html
https://bitbanksoftware.blogspot.com/20 ... h-dma.html