javascript - 如何通过JS代码检测浏览器是否支持SIMD?

标签 javascript google-chrome simd webassembly

我找到了一种检测方法,但它在我的计算机上无法使用最新的 chrome 启用 simd 标志:

var simd =  async () => WebAssembly.validate(new Uint8Array([0, 97, 115, 109, 1, 0, 0, 0, 1, 4, 1, 96, 0, 0, 3, 2, 1, 0, 10, 9, 1, 7, 0, 65, 0, 253, 4, 26, 11]));
await simd();

还有其他检测方法吗?

最佳答案

这里有一个用于 wasm 特征检测的开源库:

https://github.com/GoogleChromeLabs/wasm-feature-detect

它的工作方式是尝试实例化具有给定功能的 wasm 模块,并在出现错误时捕获错误(这表明该功能不受支持)。

这是它试图创建的 SIMD 模块:

https://github.com/GoogleChromeLabs/wasm-feature-detect/blob/master/src/detectors/simd/module.wat

关于javascript - 如何通过JS代码检测浏览器是否支持SIMD?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61745021/

相关文章:

javascript - http post 成功后 $scope.push() 不会更新 ng-repeat

javascript - 导航栏中的搜索栏在 Google Chrome 和 Firefox 中看起来不一样

google-chrome - Dailymotion "broke"带有视频缩略图的 HTTPS(Chrome 警告)

arrays - Swift 中的任意矩阵或数组大小

java - IntStream导致将数组元素错误地设置为0(JVM Bug,Java 11)

javascript - TS2403 : Subsequent variable declarations must have the same type in react

javascript - 第一次在浏览器上获取弹出通知

javascript - change() 仅在失去焦点时触发

javascript - 查看正在重定向的文件源

simd - AVX512中有没有像_mm512_sign_epi16 (__m512i a, __m512i b)这样的函数