前言
LVGL: V8.3.10
开发工具:NXP GUI-Guider-1.8.1-GA
MCU:GD32F470ZIT6
屏幕:4.3 寸 tftlcd 480*272 RBG565
触摸: GT911
操作系统:FreeRTOS
本文记录分享一个实际项目中 lvgl 的优化过程。
现象
屏幕移植 lvgl 后帧率 50fps 左右,但是当切换屏幕、容器滑动滑动条(都是动画)时,帧率显著下降到 15fps 左右。
解耦屏幕驱动 lvgl freertos
驱动验证
任务启动调度和 lvgl 初始化之前,运行屏幕驱动测试用例,使用 TLI+IPA 的驱动方案。
测试数据如下:
时钟频率 (MHz) | 刷全屏时间 (ms) | 帧率(fps) |
---|---|---|
12 | 13.46 | 74 |
9 | 17.47 | 57 |
8 | 19.64 | 51 |
估算数据:
时钟 12MHZ 时,帧率:12000000/(480*272*1.2) ≈ 76 fps
时钟 9MHZ 时,帧率:9000000/(480*272*1.2) ≈ 57 fps
时钟 8MHZ 时,帧率:8000000/(480*27