翻译 | Qt for MCUs 2.3发布
发布时间:2022-12-15

本文翻译自:Qt for MCUs 2.3 released

原文作者:Qt公司高级产品经理Yoann Lopes

校审:Macsen Wang


自Qt for MCUs的首次发布以来,您的反馈和需求就一直在驱动着Qt for MCUs的开发。今天,我们很高兴地宣布2.3版本的发布,包括几个呼声最高的功能和改进。其中包括Qt Quick Ultralite对Loader QML类型的支持,增加了对部分帧缓冲区(Partial Framebuffer)的支持,以显著降低应用程序的整体内存需求,还支持在Windows中使用MinGW创建应用程序等等。


如需查看Qt for MCUs 2.3的完整更新列表,请访问在线文档中的更新日志。以下是有关此版本的详细更新内容。


QML Loader


默认情况下,所有在Qt Quick Ultralite UI中声明的QML组件都是在内存中静态分配的,一些情况除外,比如可以动态分配其委托(Delegate)的RepeaterListView类型。静态内存分配有其优势,例如,更出色的运行时性能表现和更低的内存相关bug的出现概率;但静态内存分布也有其缺点,因为在应用程序的生命周期中可能并不总是需要已分配的数据,从而造成内存浪费。在开发GUI时,如果一次性要加载很多界面但每次只有其中一个可见,静态组件分配的方式可能会特别低效。应用程序的界面越多,浪费的内存也就越多。



Qt Quick Ultralite现已支持Loader QML类型,从而实现动态加载QML组件,确保对QML组件内存分配的完全控制。这可以帮助减少应用程序的总RAM占用,在某些情况下还能减少设备启动时间。



部分帧缓冲区


接下来是一个可以显著降低应用程序的总内存需求的新功能。


帧缓冲区对于任何图形应用程序都是必需的,它是RAM中的一个保留区域,包含所有要传输到显示器上的像素数据。在任何时候,它都包含由图形引擎完成的最后渲染的完整图像。Qt Quick Ultralite通常使用单帧或双帧缓冲,它只在UI更新时渲染实际变化的像素。所有绘图操作完成后,需要将全帧缓冲区转移到显示器上。这些缓冲区需要能够容纳显示器上的所有像素数据,这通常意味着在大多数基于微控制器的图形化应用程序中,缓冲区的大小就基本等于应用程序的RAM需求。例如,分辨率为480x272的16位显示器在单缓冲区或双缓冲区的情况下所需的RAM分别为260 KB和520 KB。


为了帮助减少这些RAM需求(为应用程序的其余部分释放内存,或者仅仅在没有足够的RAM来容纳一个完整的帧缓冲区时),我们添加了一个新功能,支持基于一个或几个较小的部分帧缓冲区的批量更新显示



与单缓冲或双缓冲机制相比,这种方式可以显著减少内存使用量。例如,对于一个480x272显示器,现在只需要1 KB作为帧缓冲区!然而,这是有条件和限制的。要使用部分帧缓冲区,必须使用具有内置内存的显示器,通常是带有DSI、SPI或并行连接的显示器。此外,当显示画面中存在大范围的动画时,部分帧缓冲区可能会导致画面撕裂。


还有更多!


这些只是Qt for MCUs 2.3的主要亮点。这个版本中包含了更多的特性和改进,例如支持MinGW在Windows上构建应用程序,一些降低内存占用的优化,对独立代码生成工具的改进,以及针对最近发布的Qt Creator 9.0版本改进的插件。您可以访问更新日志以查看完整的特性列表。


下一步计划


我们计划在2023年3月推出Qt for MCUs 2.4及其特性更新。该版本将引入能够播放复杂2D和3D动画的图像序列的新特性,一个在任何微控制器上使用Qt Quick Shapes的软件矢量图形渲染器字体数据压缩,和一个更轻量的Qt Quick Ultralite引擎


现在就来试试Qt for MCUs 2.3吧!


文章来源公众号:Qt软件)


+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


关于凯发k8一触即发电子

凯发k8一触即发电子技术有限公司(英文名称:Emdoor Electronics Technology Co.,Ltd)是国内资深的研发工具软件提供商,公司成立于 2002 年,面向中国广大的制造业客户提供研发、设计、管理过程中使用的各种软件开发工具,致力于帮助客户提高研发管理效率、缩短产品设计周期,提升产品可靠性。

20 年来,先后与 Altium、ARM、Ansys、QT、Adobe、Visu-IT、Minitab、Testplant、EPLAN、HighTec、GreenHills、PLS、Ashling、MSC Software 、Autodesk、Source Insight、TeamEDA、MicroFocus等多家全球知名公司建立战略合作伙伴关系,并作为他们在中国区的主要分销合作伙伴服务了数千家中国本土客户,为客户提供从芯片级开发工具、EDA 设计工具、软件编译以及测试工具、结构设计工具、仿真工具、电气设计工具、以及嵌入式 GUI 工具等等。凯发k8一触即发电子凭借多年的经验积累,真正的帮助客户实现了让研发更简单、更可靠、更高效的目标。


欢迎关注“凯发k8一触即发电子”公众号

了解更多研发工具软件知识