本项目是专为 Rockchip RK3568 平台定制的 LVGL v9 渲染工程。通过深度集成 RGA2 硬件加速引擎与渲染管线优化,成功在 1080P 分辨率下实现了流畅的 UI 交互与极致的 CPU 开销平衡。
- RGA 硬件加速 (Librga集成):
- 深度适配 RK3568 内核 RGA2 (v3.2.x) 驱动。
- 使用
improcessC API 实现硬件级像素搬运,大幅降低 CPU 负载。
- 影子画布 (Shadow Canvas) 架构:
- 引入中间缓冲区解决多缓冲区 (Triple Buffering) 异步更新时的画面闪烁与鬼影问题。
- 局部刷新模式 (Partial Refresh):
- 渲染器仅计算屏幕脏区域(Dirty Area),避免无效的全屏重绘。
- 自适应面积阈值控制:
- < 256x256: 自动切换至 CPU
lv_memcpy(规避硬件调度延迟与中断开销)。 - ≥ 256x256: 触发 RGA 硬件镜像,发挥硬核搬运性能。
- < 256x256: 自动切换至 CPU
- 性能指标 (1080P @ 30~60FPS):
- 静态画面 CPU 占用率: < 10%。
lv_demo_widgets动态测试场景最高占用: ~40%(相比原始 80% 降幅显著)。
lvgl/src/drivers/display/drm/lv_linux_drm.c: 核心驱动。集成了 RGA 初始化、影子画布同步逻辑与面积阈值调度。lv_conf.defaults: 全局配置。已开启LV_USE_DRAW_SW_ASM_NEON以提升 CPU 绘图上限。src/main.c: 演示入口。已配置运行lv_demo_benchmark或lv_demo_widgets。
项目已集成 thirdparty/librga。确保交叉编译环境已正确安装 libdrm 和 gbm。
mkdir build && cd build
cmake ..
make -j32./lvglsim本项目由 Antigravity 协助优化完成