顯示具有 WebAssembly 標籤的文章。 顯示所有文章
顯示具有 WebAssembly 標籤的文章。 顯示所有文章

2023/05/13

macOS Build OpenCV 4.7.0 to WebAssembly

還沒安裝Emscripten可以先查閱macOS 安裝 Emscripten 3.1.39,配置好後就開始編譯吧
git clone https://github.com/opencv/opencv.git
emcmake python ./opencv/platforms/js/build_js.py build_wasm --build_wasm
cd ./build_wasm/bin/ && open .
接著打開loader.js會如下:

macOS 安裝 Emscripten 3.1.39

Emscripten是一個用來將C / C++編譯成WebAssembly,不用過於依賴任何編譯器環境 
WebAssembly可稱為WASM,是一種低階程式語言,可提供JavaScript藉由虛擬機器引擎內執行,能夠為JavaScript帶來性能的提升
WebAssembly優點及缺點如下:

 優點: 
  • 更快的性能,最多提升到20倍,讓網頁這部分在未來有無限可能
  • 提升攜帶性,網頁本身就是跨平台的最好開端
  • 安全性也能有所提升,存在於瀏覽器內存的Sandbox環境

缺點:
  • 垃圾處理機制還是得靠自己處理
  • 不能直接操作DOM
  • 舊瀏覽器不支援,但如果封裝成特定的應用就可以遮蔽掉此問題