OneOS-Lite 上提升 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/

知知乎乎:蓁蓁

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在移植 Linux WiFi 代码到 OneOS 上,需要遵循以下步骤: 1. 收集所需的工具: 一台运行 Linux 的 PC 以及针对 OneOS 的交叉编译器 2. 收集需要移植的 WiFi 驱动源代码 3. 在 PC 上编译 WiFi 驱动并在运行正常的 Linux 系统上进行测试 4. 使用交叉编译器将 WiFi 驱动编译成 OneOS 的可执行代码 5. 将编译出的可执行代码上传到 OneOS 系统中 6. 在 OneOS 上运行 WiFi 驱动并测试其功能是否正常 这些步骤中的具体细节可能会因为不同的 WiFi 驱动或 OneOS 版本而有所不同, 请仔细阅读相关文档。 注意:由于移植的难度程度和系统的差异,移植 Linux WiFi 代码到 OneOS 上可能需要一定的 Linux 驱动开发经验和熟悉 OneOS 的知识。 ### 回答2: 将Linux的WiFi代码移植到OneOS上需要以下步骤: 1. 确定OneOS的硬件支持:首先,需要确定OneOS支持的硬件平台是否与Linux的WiFi模块兼容。查看OneOS的支持列表或者相关文档,确认所使用的硬件平台是否支持WiFi功能。 2. 确定WiFi模块的适配层:OneOS与Linux的内核不同,所以需要适配WiFi模块的代码和驱动程序。可以根据硬件平台的特性,选择合适的适配层,将WiFi模块的驱动程序和相关代码嵌入到OneOS的内核中。 3. 调整硬件接口和功能:OneOS的API和Linux的API可能存在差异,所以在移植过程中需要调整硬件接口和功能的相应代码。这包括初始化、配置和操作WiFi模块等。 4. 进行编译和调试:移植完WiFi代码后,进行编译和调试,确保代码的正确性和稳定性。使用OneOS提供的工具链进行编译,并在实际硬件平台上进行测试和调试。 5. 验证和优化:完成编译和调试后,需要验证WiFi模块的功能是否正常。进行功能测试,确保WiFi的连接和传输正常。如果遇到问题,可以进行优化和调整,以满足OneOS的要求和性能。 在移植过程中需要注意OneOS的内核架构和功能特性,与Linux有所不同。因此,需要仔细了解OneOS的文档和代码,确保正确移植WiFi功能。 ### 回答3: 将Linux的WiFi代码移植到OneOS上,需要经过一系列的步骤和适应性调整。 首先,需要将Linux的WiFi驱动代码从Linux内核源码中提取出来。可以通过查看Linux内核源码中的wifi驱动目录,将相关文件复制到OneOS的代码工程中。 然后,需要根据OneOS的内核结构和设备驱动框架,对从Linux中提取出来的WiFi驱动代码进行适当的修改和调整。在此过程中,可能需要根据OneOS的API和设备管理机制进行适配,以兼容OneOS的驱动架构和网络栈。 接下来,要根据OneOS的文件系统、内存管理和网络协议栈等子系统,对WiFi驱动进行相应的配置和参数设置。这包括将WiFi驱动与OneOS的网络协议栈集成,确保其与OneOS的网络接口、网络协议栈以及网络协议栈的配置相匹配。 然后,需要针对OneOS的硬件抽象层(HAL)进行适配。这可能涉及到对硬件抽象层代码的修改,以使WiFi驱动能够正确地与OneOS的硬件平台进行通信和交互。 最后,还需要进行一系列的编译、链接和调试工作,确保WiFi驱动在OneOS上能够正确地运行和提供相应的网络功能。 综上所述,将Linux的WiFi代码移植到OneOS上需要从Linux内核中提取并适应代码、对接OneOS的驱动架构和网络栈、与硬件抽象层进行适配,最终完成编译和调试工作。这个过程需要开发者对Linux和OneOS的内核、驱动架构和网络协议栈有一定的了解和经验,以确保驱动的正确性和性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值