LVGL does have some gitty up to it

LVGL rendering on a desktop PC with a resolution of 450 x 450. Rendering 56 arcs and each arc is set for 0 to 360 degrees total range and the value of each arc and the rotation of each arc changes for each frame as fast as one core on my PC is able to. The arcs also have a different color, opacity, starting rotation angle and starting value. The increments for both rotation and value for each arc is randomly selected.

I bypassed the task handler and any timers associated with that. so no stalls due to there being a 1 millisecond minimum value that can be passed. This is as fast as a single core on my PC is able to do (16 core (32 logical processors) @ 4.2 GHZ. No hardware acceleration is being used and these are full frame refreshes with a single buffer. So the entire LVGL screen is being redrawn.

155 FPS is a pretty decent number…
That 155 FPS also includes the time it takes for the changes to be made to each arc widget not just the time it takes to render it to the screen.

Not too shabby at all.

forgot to mention it is running using the cpython binding I am working on and the color depth is set to 32 bit.

I have a run using only the time it takes to render and draw the buffer to the screen.

180 FPS. Not too shabby at all.