Javascript 單執行緒模型使得程式的設計和邏輯相對簡單。開發者不需要擔心併發問題,避免了許多可能的錯誤。但隨著近年 AI、元宇宙、3d 技術的發展,需要利用 Javascript 大量運算的時候可能越來越多,這時就是擅長平行運算的 web worker 出場的時機了。希望藉由這一系列的文章介紹目前 web worker 的發展狀況,以及提出一些實例分析 web worker 適合用到的場景。
BroadcastChannel 是 HTML 規範中用來讓多個線程互相溝通的方式,不像前兩天介紹的 MessageChannel 只能做到兩者之間的通訊,Br...
前端大部分接觸到的資料格式最常見的就是 json,而 Stream 對前端來說應該是個比較陌生的概念,但每次對後端呼叫 api 取得資料的時候,回來的資料格式就...
ImageBitmap 表示一種能夠被繪製到 canvas 元素上的位置圖像,通常是使用 createImageBitmap() 的方式產生 可以看到 Imag...
昨天提到了 ImageBitmap 是一種能夠被繪製到 canvas 元素上的位置圖像,今天我們要來講另一個很像的用法 ImageData,ImageData...
昨天介紹了 ImageData 的用法,今天來寫個範例,看看如何在 Web worker 中處理 ImageData,並增進效能吧。 範例 Demo 目的 利...
昨天的範例中顯示當圖片的解析度很高時,執行 getImageData 會很久的問題 (我的電腦 Chrome 瀏覽器耗時 200~300ms 左右),但如果想將...
昨天學習到使用 OffscreenCanvas 在 Web worker 中操作圖像,避免主線程處理 canvas 的耗時操作導致畫面卡頓,今天打算繼續優化前兩...
在今天以前所介紹的都是一般較常用到的 Dedicated worker,Dedicated worker 只能被當下創建的線程使用,而 Shared worke...
昨天介紹了 Shared worker 的基本用法,今天打算寫個範例來了解 Shared worker 的生命週期 目的 了解如何使用 Shared work...
在這 Web worker 系列文的一開始就提到 worker 線程之間的資料傳遞使用 postMessage const worker = new Worke...