深入理解Flutter的图形图像绘制原理——图形库skia剖析
Flutter是目前流行的高性能跨平台UI框架,图形库skia是其跨平台的基石。本文将深入分析skia的图形、字体、图片的渲染原理,如何挖掘硬件特性,为UI性能优化提供思路。 1. 引言 Flutter是目前非常流行的跨平台UI开发框架,不仅支持Android、iOS,还支持Windows、Linux等操作系统。Flutter的性能非常高,拥有120fps的刷新率。那么flutter是如何实现在不同平台上高性能绘制图形图像的呢?首先我们分析下Flutter App和原生Android App、原生iOS App的UI绘制原理。 移动App的整体UI框架大致分成下面4个层次: 1)UI库 跟Android、iOS原生开发类似,Flutter用dart语言实现一整套UI控件。Flutter先将控件树转成渲染树,然后交由skia库绘制界面。 2)图形库 Skia图形库跟iOS平台的CoreAnimation等库功能类似,不仅提供了图形渲染功能,还提供文字绘制和图片显示功能。高级图形图像库将需要绘制的图形转成点、线、三角形等图元,再调用底层图形接口实现绘制。 3)低级图形接口 OpenGL是使...

