好,这个我们直接来一版工程师视角、能落地的对比
不讲口号,只讲为什么会换、差在哪、你该怎么选


一句话结论(先记)

Skia 是通用 2D 引擎,灵活但不可预测;Impeller 是 Flutter 定制的现代 GPU 管线,功能受限但帧稳定。
👉 长期方向:Impeller;当前兜底:Skia(主要在 Android)。


核心定位差异(最重要)

维度SkiaImpeller
定位通用 2D 渲染引擎Flutter 专用渲染引擎
使用者Android / Chrome / Flutter仅 Flutter
设计目标功能完整性能可预测
灵活性极高有意受限
未来方向逐步边缘化(Flutter 内)主线

渲染链路对比(本质差别)

Flutter + Skia

Widget
 ↓
Layer Tree
 ↓
Skia
 ↓
OpenGL ES / Vulkan
 ↓
GPU

Flutter + Impeller

Widget
 ↓
Layer Tree
 ↓
Impeller
 ↓
Vulkan(Android) / Metal(iOS)
 ↓
GPU

关键差异 ①:Shader Jank

Skia(最大痛点)

Impeller(设计级解决)

👉 这一个点,就足以让 Flutter 必须换引擎


关键差异 ②:GPU API

平台SkiaImpeller
AndroidOpenGL ES / VulkanVulkan(主)
iOSOpenGL ES / MetalMetal only
驱动差异
可控性

Impeller 主动放弃 OpenGL
原因:不可控、老驱动、Bug 多。


关键差异 ③:功能覆盖

Skia 能做的(Impeller 不一定能)

Impeller 的态度

“Flutter 用不到的,我不支持。”

代价:


关键差异 ④:一致性

场景SkiaImpeller
跨设备偶尔差异高度一致
120Hz偶尔掉帧更稳
首帧可能抖稳定

当前现实状态(2026 前后)

iOS

Android

Web / Desktop


你该怎么选?(实战建议)

✅ 用 Impeller(推荐)

⚠️ 保留 Skia 兜底


一句话工程总结(可以直接对外说)

Skia 追求“什么都能画”,Impeller 追求“永远不卡”。Flutter 选择 Impeller,是为了把 UI 渲染从“概率稳定”变成“确定稳定”。


如果你愿意,我可以继续深入到更硬核的层面,比如:

你挑一个,我继续 🔥