Featured image of post web assembly初探

web assembly初探

本页面可能的刷新慢问题
使用webassembly技术生成的富文本包含的js和wasm资源可能会由于服务器下载速度限制出现加载慢问题
如果刷新慢请耐心等待,如果显示空白错误请重新刷新尝试

写在前面

最早接触这个词时候大概是2020年左右,当时在某个网站上看到了基于网页跑的xp系统,感觉还挺新奇。最近重学cv课程,想着这次一定要实现一些算法。为了在网页演示基于C、C++、Rust、WebGL实现的图像处理算法,故而啃啃该技术的一些基本用法。

注意:Firefox 52+ 和 Chrome 57+ 和最新版本的 Opera 已经默认启用,你也可以在 Firefox 47+ 中通过在 about:config 页面启用 javascript.options.wasm 字段获得支持,Chrome 51+ 和 Opera 38+ 可以在 chrome://flags 页面启用 Experimental WebAssembly 选项以支持 WebAssembly

第一例比较简单,就是将一个基于c的printf函数的命令行模式程序编译到web assembly。

第二例是一个斐波那契数列生成器,使用c函数实现生成,js读取返回值

第三例是一个使用OpenGL实现的canvas功能的例子,渲染为120帧

上面的demo借鉴了以下的几个文章或者代码:

[1]. https://github.com/timhutton/sdl-canvas-wasm.git

[2]. https://go.opensl.life/X9pS8

[3]. https://go.opensl.life/mfrfW

[4]. https://go.opensl.life/12WYb

请在评论前阅读我们的评论政策


内容是由智能博客生成器生产 powered by ChatGGPTT
使用 Hugo 构建
主题 StackedJimmy 设计,Jacob 修改