chaldea 中文文档 下载 App

Web 版渲染器——HTML vs CanvasKit 选错了会卡顿或布局错乱

两种渲染器简介

渲染器原理优点缺点
HTML Renderer把 Flutter 界面翻译成 DOM + CSS下载体积小(加载快)、用系统字体布局偶尔错位(字体计算不准)、不支持应用内截图
CanvasKit Renderer用 WebAssembly + Skia 绘制和原生版渲染完全一致、支持应用内截图体积大(需下载 CanvasKit 引擎 + Google Fonts)、可能卡顿

怎么切换

设置 → 通用设置 → Web 渲染器,三个选项:

修改后需要刷新页面(F5 或 Ctrl+R)才能生效——设置保存不会热切换。

各场景推荐

桌面端 Chrome / Edge / Firefox

移动端浏览器(手机 Chrome / Safari)

网速慢的环境

需要 Laplace 编队截图功能

常见问题

问题一:Web 版卡顿

解决:

问题二:字体不渲染(显示方框)

解决:

问题三:页面布局错乱

解决:

问题四:应用内截图不工作

解决:

问题五:Auto 选项选了什么

Flutter 引擎在 Auto 模式下的判断逻辑是:

Auto 是推荐选项——大部分情况下选对了。但如果遇到上面的问题,手动指定更靠谱。

总结

场景推荐渲染器
桌面端普通使用CanvasKit 或 HTML 均可
移动端浏览器HTML
Laplace 截图必须 CanvasKit
网速慢 / 想快HTML
布局错乱 / 字体不对CanvasKit(修复布局)或 HTML(修复字体)
不确定Auto