Google更新开源跨平台UI框架释出最新的3.10版本,Flutter 3.10更新组件主题和视觉效果,使Material库规范符合Material 3。 除了接口之外,Flutter 3.10的引擎也有不少更新,在iOS设备程序效能将有感提升。

早在Flutter 3.7版本的时候,开发团队在iOS添加了预览版的Impeller渲染引擎,解决Flutter程序刚启动时,因为着色器导致效能不稳(Jank)的状况。 Impeller在建置阶段,就会预先编译一组轻量着色器,因此由于Impeller不在执行时编译着色器,也就能减少效能波动。
现在从Flutter 3.10开始,所有iOS应用程式都使用Impeller,Impeller从预览版以来,已经有许多改进,包括通过精简渲染程序,Impeller能够使用更少的内存,而且在较新的iPhone、iPad上,还能够启用有损贴图压缩技术,在不影响传真度(Fidelity)的前提下减少内存使用。
这些改进在复杂的应用上,会有明显的效能提升,像是在 Wonderous 应用程序中,渲染画面所使用的内存可能减少接近一半,而这也连带降低 GPU 和 CPU 的负担。 Impeller满足大多数的Flutter应用程式渲染需求,但是开发者也可以根据需求选择不使用Impeller。 目前Android版本的Impeller引擎还在开发阶段,尚未进入预览阶段。
在Flutter 3.7开发团队将加载本地端图像的平台线程,转移到底层Dart执行绪,避免对平台线程中的垂直同步事件造成延迟,但是这个改动却对Dart执行绪造成额外的工作,导致画面出现卡顿,在Flutter 3.10中,开发团队把本地图像的开启和解码工作,从Dart执行绪移到后台执行绪,如此不只解决画面卡顿问题, 也避免造成垂直同步事件延迟,在基准测试中,多个图像同时加载的时间缩短一半。
开发团队原本在Flutter 3.0版本的渲染流程,对Android应用启用一项先进的渲染功能,使应用程序能够只重新绘制有变化的画面区域,而非总是更新整个画面,藉此提高渲染效率,但是开发团队提到,他们发现这个功能在实际运作时,效果不如当初的期望,而且并非所有装置和Android版本都支持。
因此开发团队最后决定在Android上停用这个功能,但是会持