1 Background
2 Development Setup
2.1 Software
2.2 Hardware
3 Performance Optimization
3.1 Baseline Performance
3.2 Optimization 1: Compiler Optimization
3.3 Optimization 2: External SDRAM
3.4 Optimization 3: VGLite Acceleration
3.5 Optimization Comparison
4 Conclusion
5 References
1. Background
LVGL (Light and Versatile Graphics Library) is a high-performance, low-resource embedded graphics library. Thanks to its robust open-source ecosystem and broad OS compatibility, it supports a wide range of hardware platforms—from low-power ARM Cortex-M microcontrollers (with clock speeds as low as 100 MHz) to high-performance MPUs running Linux—making it a preferred choice in embedded open-source solutions. Many silicon vendors now offer “out-of-the-box” support for LVGL.
NXP provides ready-to-use software and hardware examples for its mainstream platforms—including MCX, i.MX RT, and LPC series—and integrates LVGL examples into the MCUXpresso SDK. These examples include quantified benchmark metrics for various scenarios. However, due to differences in software/hardware configurations and specifications, actual performance may vary significantly and often requires scenario-specific tuning.
This document, based on practical experience with the i.MX RT1170 platform, aims to help NXP users quickly understand and apply appropriate optimization strategies to enhance LVGL application performance.


4. Conclusion
This document presents a step-by-step optimization of NXP’s official LVGL benchmark example, with quantified improvements in CPU usage, FPS, render time, and flush time. Taking the Widgets demo as an example:
- CPU usage dropped from 96% → 12%
- FPS increased from 2 → 59
These optimization techniques—not limited to LVGL—are broadly applicable to system-level performance tuning on i.MX RT platforms.