Dynamsoft JavaScript Barcode SDK是基於WebAssembly實現的。它的優勢在於可以直接運行在任何平臺的任何瀏覽器中。然而不同的瀏覽器,對WebAssembly的支持以及性能表現也是不同的。
不同瀏覽器的性能數據
影響WebAssembly的因素包括網絡連接,硬件配置,以及瀏覽器。
Android
在安卓設備上,瀏覽器推薦使用Firefox
。Firefox
的性能要優於Chrome
。
設備 | 瀏覽器 | 首次加載耗時(ms) | 緩存加載耗時(ms) | 條碼檢測平均耗時(ms) |
---|---|---|---|---|
HUAWEI Mate20 CPU: Hisilicon Kirin 980 | Chrome 70 | 4,998 | 3,873 | 234 |
HUAWEI Mate20 CPU: Hisilicon Kirin 980 | Firefox 63 | 1,617 | 319 | 267 |
iOS
iOS設備建議iPhone 7
以上,瀏覽器使用Safari
。
設備 | 瀏覽器 | 首次加載耗時(ms) | 緩存加載耗時(ms) | 條碼檢測平均耗時(ms) |
---|---|---|---|---|
iPhone 7 | Safari 11.4 | 6,936 | 5,647 | 485 |
iPhone X | Safari 12.1 | 4,211 | 4,001 | 378 |
桌面
在Windows
, Linux
和macOS
上運行主流瀏覽器,性能比較接近。
設備 | 瀏覽器 | 首次加載耗時(ms) | 緩存加載耗時(ms) | 條碼檢測平均耗時(ms) |
---|---|---|---|---|
Win10 CPU: i7-4790 | Chrome Version 70 (64-bit) | 546 | 485 | 253 |
Win10 CPU: i7-4790 | Firefox Quantum 63 (64-bit) | 220 | 122 | 219 |
Win10 CPU: i7-4790 | Microsoft Edge 42 | 339 | 112 | 1,778 |
Ubuntu: 16.0.4 | Firefox Quantum 63 (64-bit) | 396 | 238 | 256 |
Mac: 10.13.6 | Safari 12 | 4,540 | 4,455 | 213 |
Mac: 10.13.6 | Firefox Quantum 63 (64-bit) | 290 | 195 | 272 |
Mac: 10.13.6 | Chrome 71 (64-bit) | 975 | 878 | 292 |
爲什麼Firefox的表現會優於Chrome?
Firefox
Firefox
支持把編譯之後的wasm模塊緩存到IndexedDB
中。這樣通過緩存加載不需要再編譯。
首次加載
緩存加載
Chrome
Chrome
只能把wasm文件緩存到IndexedDB
中,通過緩存加載的時候需要耗費編譯的時間。
首次加載
緩存加載