ESP32-S3 devkit with display

I am going to tell you right now that FPS number is wrong. It is almost double what it actually is. In the current LVGL the way the FPS is calculated is including when there is nothing that ever gets written to the display. This skews the measurement big time. The measurement can also be altered if calls to lv_refr_now are done and there are no updates that need to be done.

See here…

This is an 800 x 600 running 32 bit color.

and this is after a partial fix of how the math is being done. The issue with the counting of frames when nothing ever gets rendered has not been fixed.

I didn’t take a screen shot of what the numbers are when it is fixed But it is the same as what you see behind that last image on the bottom right of the LVGL window. You can see the numbers are a lot closer but still not exact.They are almost identical but not exact. That is because LVGL uses integer math instead of floating point math and also because LVGL is using millisecond time precision. In the calculations that I had running nanosecond time resolution and floating point math was being used.

LVGL can report up to double what the actual frame rate is. The higher the frame rate the larger the error that is seen.