美文网首页OneOS物联网操作系统
OneOS-Lite 上提升 LVGL 帧率的方法

OneOS-Lite 上提升 LVGL 帧率的方法

作者: 罗蓁蓁 | 来源:发表于2022-05-13 11:19 被阅读0次

    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/

    知知乎乎:蓁蓁

    相关文章

      网友评论

        本文标题:OneOS-Lite 上提升 LVGL 帧率的方法

        本文链接:https://www.haomeiwen.com/subject/aciyurtx.html