乐趣区

关于ui:OneOSLite-上提升-LVGL-帧率的方法

1. 前言

LVGL 的移植是第一步,这使得 OneOS-Lite 上领有了图形界面的能力。下一步,则是如何晋升 LVGL 帧率问题。总结了一下,大略有以下几个方面。
帧率 FPS:FPS 是图像畛域中的定义,是指画面每秒传输帧数,艰深来讲就是指动画或视频的画面数。FPS 是测量用于保留、显示动静视频的信息数量。每秒钟帧数越多,所显示的动作就会越晦涩。通常,要防止动作不晦涩的最低是 30。

  1. 硬件自身性能
  2. OneOS-Lite 零碎影响
  3. LVGL

2. 硬件自身性能

通常,要使得 FPS 更高,硬件选型是第一步,至关重要的一步。

  1. 内核,解决能力越强,对 FPS 会有晋升。
  2. 内存,尽量抉择 SRAM,对 FPS 晋升很大,SDRAM 相比于 SRAM 逊色不少。
  3. 传输方式 SPI/LCD/DSI,应用 SPI 传输缓存数据至屏幕,显然不如 LCD 或者 DSI。
  4. 具备专门解决图形图像的硬件,比方 stm32 的 DMA2D。
  5. 更小的屏幕(分辨率)。

3.OneOS-Lite 零碎影响

LVGL 自身是运行在 OneOS-Lite 之上的,因而,OneOS-Lite 的配置会对帧率产生影响。硬件的反对也须要零碎的治理。

  1. tick frequecy 设置低一些,可能会进步帧率。想一想也是哈,tick frequecy 影响的是时钟中断。设置低一些,时钟中断会来得没有那么频繁。
  2. 尽量应用 SRAM。即便同样是 SRAM,应用全局变量会比应用 malloc 调配,取得更高的帧率。想一想也是哈,内存治理须要耗费工夫。
  3. OneOS-Lite 反对 LTDC,DSI,DMA2D 等
  4. 不要让 lvgl 优先级太低,如果更高优先级的工作频繁执行,会影响图形显示性能。
  5. 尽量让存储帧缓冲器的存储器仅用于帧缓冲,如果用于存储帧缓冲器的存储器还用于其余利用,那可能会影响零碎的图形性能。

4. LVGL

LVGL 自身的配置也是影响其性能。

  1. 不要关上性能监控 LV_USE_PERF_MONITOR && LV_USE_MEM_MONITOR
  2. 如果反对,倡议开启 LV_USE_GPU_STM32_DMA2D
  3. 倡议帧缓存区不要低于屏幕的 1 /4,倡议双缓存

5. 其它

应用更高的优化级别,能进步帧率。

6. 关注 && 分割

开源轻量操作系统:https://gitee.com/cmcc-oneos/OneOS-Lite

docs 文档核心:https://oneos-lite.com/

知知乎乎:蓁蓁

退出移动版