一 基础概念
1. 关于canvas 、 webgl 、 skia 、canvasKit
ctx.getContext('2d ' / 'webgl ' / 'webgl2');
类型 2d 、webgl、webgl2 有什么不同?
canvas2d 主要的性能问题就在于,绘制中间对象没法缓存,以及部分能力需要 CPU 计算这两点上。 而 canvaskit 在提供了类似 canvas 2d 的接口的同时,又让我们不用去操心 webGL 上的技术问题,可以说非常适合复杂的 2d 图形绘制场景了。canvasKit 还提供其他功能,比如布尔运算,文字排版(canvas 2d 中 fillText 只能绘制单行文本,不能直接换行,需要配合 计算文字长度的属性 measureText 来判断换行)
2. 关于skia 和 canvasKit 以及 wasm
Skia 是一个开源 2D 图形库,它提供适用于各种硬件和软件平台的通用 API。 它作为 Google Chrome 和 ChromeOS、Android、Flutter 和许多其他产品的图形引擎。Skia 支持多语言调用, C++/C#/Java/Python/Rust/WASM 等。
程序化设计有浏览器端以及服务端的绘制需求,所以我们选择 canvaskit-wasm 这个 Skia 打包出来的供 JS 调用的 WebAssembly NPM 包,在 web 端以及 nodejs 端都能使用,这样就满足了多端的需求。
尽管使用了画布
posted on
2023-10-17 08:40
长安城下翩翩少年
阅读(
705)
评论()
编辑
收藏
举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!