好,这个我们直接来一版工程师视角、能落地的对比。不讲口号,只讲为什么会换、差在哪、你该怎么选。
Skia 是通用 2D 引擎,灵活但不可预测;Impeller 是 Flutter 定制的现代 GPU 管线,功能受限但帧稳定。👉 长期方向:Impeller;当前兜底:Skia(主要在 Android)。
Widget ↓ Layer Tree ↓ Skia ↓ OpenGL ES / Vulkan ↓ GPU
Skia 在 运行时:
生成
编译
缓存 Shader
👉 首次动画 / 新效果 = 可能卡一帧(Shader Jank)
Widget ↓ Layer Tree ↓ Impeller ↓ Vulkan(Android) / Metal(iOS) ↓ GPU
首次:
阴影
模糊
裁剪
需要即时编译 Shader
即使做了 warm-up 也不 100% 可靠
👉 这一个点,就足以让 Flutter 必须换引擎。
Impeller 主动放弃 OpenGL原因:不可控、老驱动、Bug 多。
“Flutter 用不到的,我不支持。”
代价:
Skia 追求“什么都能画”,Impeller 追求“永远不卡”。Flutter 选择 Impeller,是为了把 UI 渲染从“概率稳定”变成“确定稳定”。
如果你愿意,我可以继续深入到更硬核的层面,比如:
你挑一个,我继续 🔥
Github开源生信云平台 DEMO