Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RK3568 LVGL v9 高性能 DRM 渲染工程

本项目是专为 Rockchip RK3568 平台定制的 LVGL v9 渲染工程。通过深度集成 RGA2 硬件加速引擎与渲染管线优化,成功在 1080P 分辨率下实现了流畅的 UI 交互与极致的 CPU 开销平衡。

🛠 核心优化特性

  • RGA 硬件加速 (Librga集成):
    • 深度适配 RK3568 内核 RGA2 (v3.2.x) 驱动。
    • 使用 improcess C API 实现硬件级像素搬运,大幅降低 CPU 负载。
  • 影子画布 (Shadow Canvas) 架构:
    • 引入中间缓冲区解决多缓冲区 (Triple Buffering) 异步更新时的画面闪烁与鬼影问题。
  • 局部刷新模式 (Partial Refresh):
    • 渲染器仅计算屏幕脏区域(Dirty Area),避免无效的全屏重绘。
  • 自适应面积阈值控制:
    • < 256x256: 自动切换至 CPU lv_memcpy(规避硬件调度延迟与中断开销)。
    • ≥ 256x256: 触发 RGA 硬件镜像,发挥硬核搬运性能。
  • 性能指标 (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_benchmarklv_demo_widgets

🚀 快速开始

1. 编译环境

项目已集成 thirdparty/librga。确保交叉编译环境已正确安装 libdrmgbm

2. 构建项目

mkdir build && cd build
cmake ..
make -j32

3. 运行

./lvglsim

本项目由 Antigravity 协助优化完成

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages