>本文探討了HTML5中的JavaScript圖像操縱,重點是使用Web Worker進行並行化的績效優化。 關鍵要點突出了網絡工人的好處,尤其是對於具有多個核心的低端設備。 棕褐色效果用作測試案例。
初始“蠻力”方法在主線程中使用像素的棕褐色效應像素,從而導致性能緩慢,尤其是在功能較小的硬件上。 該代碼使用帆布元素直接訪問和操縱像素數據。
>
> HTML結構很簡單:顯示圖像(mop.jpg
),並且帆布元素將顯示處理後的圖像。 JavaScript代碼使用包含隨機噪聲因子的公式來計算每個像素的新RGB值。
用於重複使用中的核心棕褐色處理功能(tools.js
>
default.js
> Web Worker方法將圖像分為段(在本示例中,四個),將每個圖像分配給一個單獨的工人。 每個工作都獨立處理其細分市場,可大大減少處理時間。 然後將結果重組在主線程中。
pictureProcessor.js
性能比較證明了使用網絡工人實現的顯著速度提高,尤其是在低端硬件上引人注目。 但是,本文還指出,由於線程之間的數據複製開銷,高端機器上的性能增長可能不太明顯。 圖像操縱任務的複雜性應證明使用網絡工人的使用是合理的。 本文以討論將代碼移植到Windows 8應用程序和FAQ部分的討論結束,該部分涉及有關Web工作人員和圖像操縱性能的常見問題。 使用網絡工人的最終結果如下:>
以上是使用網絡工人提高圖像操縱性能的詳細內容。更多資訊請關注PHP中文網其他相關文章!