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

Hiten Shah
Posts: 4
Joined: Thu Feb 05, 2026 6:53 am

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

Postby Hiten Shah » Fri Feb 06, 2026 8:03 am

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?

RandomInternetGuy
Posts: 82
Joined: Fri Aug 11, 2023 4:56 am

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

Postby RandomInternetGuy » Wed Mar 11, 2026 11:25 pm

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

Who is online

Users browsing this forum: PerplexityBot, PetalBot and 1 guest