Skip to content

Every ESP32-S3 build gets a 1 ms tick and LVGL-sized caches - #164

Merged
bdbarnett merged 2 commits into
mainfrom
perf/tembed-tick
Oct 21, 2026
Merged

bdbarnett merged 2 commits into
mainfrom
perf/tembed-tick

Conversation

@bdbarnett

@bdbarnett bdbarnett commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Every ESP32-S3 build now gets a 1 ms FreeRTOS tick and caches sized for LVGL (a 32 KB instruction cache, a 64 KB data cache, 64-byte lines), whether or not the board shipped with a display, so a display added after flashing gets the same speed. The settings move from the LCD-4.3, LCD-7 and T-Embed variants into variants/esp32/sdkconfig.esp32s3. The P4 is unchanged.

lv_test_timer's kit run, median of three, port defaults against these settings:

  • Waveshare LCD-4.3 (RGB panel): 10.4 to 17.7 fps.
  • LilyGO T-Embed (SPI panel), with the frame period at 1 ms: 59.5 to 66.9 fps. Each blit_rect call takes 1.5 ms instead of 2.0 ms. At the standard 33 ms period it's pinned at 30 fps either way.
  • Waveshare LCD-7, under its remote UI: a full-screen redraw went from 205 to 147 ms.

The caches take 48 KB of internal RAM. With the display up, the T-Embed's free internal RAM went from 175,867 to 161,295 B. A 36-minute Wi-Fi and TLS soak on the LCD-4.3 never had less than 94 KB free.

Built locally: ESP32_GENERIC_S3 (8 MB), LCD_4_3 and T_EMBED, each with --modules all. All three resolved configs carry the four settings. The T-Embed image was flashed and runs its display, audio in and out, and Wi-Fi.

A display added to a board after flashing gets the same speed as one that
shipped with it. The settings move from the LCD-4.3, LCD-7 and T-Embed
variants into variants/esp32/sdkconfig.esp32s3, with the measurements from
all three boards.
@bdbarnett bdbarnett changed the title The T-Embed's MicroPython build gets a 1 ms tick and LVGL-sized caches Every ESP32-S3 build gets a 1 ms tick and LVGL-sized caches Oct 21, 2026
@bdbarnett
bdbarnett merged commit 0a9d48f into main Oct 21, 2026
@bdbarnett
bdbarnett deleted the perf/tembed-tick branch October 21, 2026 22:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant