尽管使用 AOT 编译为本机代码,为什么 Flutter 仍提供 Skia 引擎?

问题描述 投票:0回答:1

我目前正在探索Flutter的架构和编译流程,即使Flutter使用AOT(Ahead-of-Time)编译来生成本机机器代码,但我对Skia引擎的存在感到有点困惑。

据我了解,AOT 编译应该将 Dart 代码转换为原生代码,但是,我注意到 Flutter 仍然附带 Skia 引擎

我想了解这个设计决策背后的原因。当 Flutter 已经将 Dart 代码编译为本机代码时,为什么还需要 Skia 引擎? Skia 与 AOT 编译结合使用有什么好处?是否有特定的性能或跨平台考虑因素导致包含 Skia?

flutter dart skia
1个回答
0
投票

每个操作系统都支持不同的图形 API:DirectX、OpenGL、Metal、Vulkan 等。Skia 是一种跨平台图形引擎,允许 Flutter 引擎与所有这些 API 进行不可知的交互,而无需单独支持它们。

这一切都结束了,因为他们引入了 Impeller,它不使用它并直接与底层 API 通信。

© www.soinside.com 2019 - 2024. All rights reserved.