Flutter 3.13优化iOS Impeller渲染引擎性能,Android版今年稍晚预览

开源UI软件开发工具包Flutter,近期更新主要围绕在其新的Impeller渲染引擎上,在最新的Flutter 3.13,官方也对Impeller进行多项改进,同时针对可折叠装置支持添加Engine API。 在接口外观上,官方对Material Framework有不少功能调整,使开发者能够更灵活地设计应用程序界面。

Impeller是Flutter上最新的渲染引擎,用来取代之前的Skia,Impeller的优点是能够善用硬件加速绘图API,像是iOS的Metal以及Android上的Vulkan,藉以提供顺畅的UI效果。 从Flutter 3.10开始,新建立的iOS应用程序便会默认使用Impeller,使适配卡顿情况减少,且在内存使用上更有效率。

Flutter 3.13上的Impeller更是经过一连串优化,完全消除着色器编译的卡顿问题,且在部分基准测试中,达到更高的平均吞吐量,在官方flutter/gallery过渡效能基准测试中,平均影格的光栅化时间大幅降低,现在约可达到Skia的一半。

Flutter 3.13优化iOS Impeller渲染引擎性能,Android版今年稍晚预览

以iPhone 11测试,从Flutter 3.10版本分支到3.13版本分支之间,在官方flutter/gallery过渡效能基准测试,平均影格的光栅化时间大幅降低。

Flutter 3.10加入对广色域的支持,广色域比传统RGB色域更广,可呈现更丰富的颜色,让图像看起来更鲜艳逼真。 但是在Flutter 3.10中,虽然在iOS上的Flutter应用程序,已经可以显示广色域图片,但是默认仍是使用RGB色域,在开发者的反馈后,Impeller现在于iOS上将预设使用广色域。

至于Android上的Impeller则需要再等等,虽然过去一年已经有许多进展,官方对Impeller的硬件抽象层做了许多优化,完善OpenGL和Vulkan后端功能,这让Android平均影格绘制时间在flutter/gallery过渡效能基准测试中已有大幅度提升。 不过,目前还未达到预期的水平,官方希望在Android上Impeller预览时,能达到稳定版本的程度。 Impeller目前也已开始在macOS上进行预览。

Flutter 3.13加入新的引擎API,更好地支持可折叠设备,新API能够撷取显示屏幕各种属性,包括显示器的实际尺寸、像素比和更新频率等信息。 Flutter 3.13还对Material Framework进行多项改进,主要更新方向是要提升更多平台的适用性,并且让用户有更多的自定义空间,并加入许多新功能,像是现在于iOS中,可以使用装置相机辨识文字,并将文字输入到文字字段中等。

值得注意的是,Flutter将在下一个稳定版本默认使用Material 3,应用程序将会默认使用Material 3颜色、文字样式和其他视觉效果。 另外,Flutter不再支持Android Jelly Bean,包括API等级16、17 和18。

(0)
老哥老哥

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注