基于WebAssembly的图片渲染/视频处理/云原生的场景应用有哪些?

本文调研了WebAssembly在webp图片渲染、视频处理和云原生场景的应用,包括利用WebAssembly实现webp图片渲染的方案、前端视频截帧与转码以及云原生环境下的WebAssembly runtime。通过WebAssembly,可以提升性能、实现跨平台,并在边缘计算和微服务中发挥作用。
摘要由CSDN通过智能技术生成

点击上方 前端Q,关注公众号

回复加群,加入前端Q技术交流群

webassembly 概念

WebAssembly是一种运行在现代网络浏览器中的新型代码,并且提供新的性能特性和效果。它设计的目的不是为了手写代码而是为诸如C、C++和Rust等低级源语言提供一个高效的编译目标。什么是编译目标?当我们写 TypeScript 的时候,Webpack 最后打包生成的 JavaScript 文件就是编译目标。也就是说,你不需要直接写 WebAssembly 代码,而是从其他高级语言编译过来就行。

webassembly 有什么优点

  1. 快速、高效

WebAssembly 的二进制文件比 JavaScript 文本文件小得多,因而下载速度更快。其解析和执行速度也更快。对比 JavaScript,JavaScript 是一种动态类型语言,不必事先定义变量类型,也不需要提前编译。这使得代码编写变得简单快捷,但这也意味着 JavaScript 引擎有大量的额外工作。JavaScript 引擎在运行 JavaScript 代码的时候,必须解析,编译并优化代码。而 WebAssembly 本身就以二进制形式提供,解析速度更快,且它是静态类型的,其引擎在编译期间不需要类型推断,也没有垃圾收集等。WebAssembly代码在不同平台上能够以接近本地速度运行。

js 和 webassembly 的执行过程对比:

1e52228ca9b8ae0766dad79c42ef899e.png

WebAssembly 执行快更详细的原因可以看这里

长按识别二维码查看原文

https://zhuanlan.zhihu.com/p/422541443

315ae608e92fc13df1b5dcbc82688d6c.png      

  1. 可移植、灵活

使用 WebAssembly ,只需要一次编译,您的应用程序将可以在每个现代浏览器中运行。使用“原生”模块也就没那么复杂,如果开发人员可以跨不同平台 (例如,在 Web 和桌面应用程序) 共享同一脚本语言或低级语言代码库,则可以节省开发时间并降低维护成本。而WebAssembly 为你提供了一种在不降低这些平台性能的前提下实现此目标的方法。

  1. 安全

WebAssembly 默认为你提供轻量级沙箱,像其他网络代码一样,它遵循浏览器的同源策略和授权策略。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值