我打开了这个矩阵乘法基准测试,我的浏览器(Firefox 7.0.1)在测试完成之前一直卡住(我在一台旧的Asus EeePC 1000H上打开了该页面)。
我听说 Web Workers 被发明出来是为了将处理和显示网页的过程分开。使用 Web Workers API 可以使 WebGL 不会阻塞整个 Web 浏览器吗?
我打开了这个矩阵乘法基准测试,我的浏览器(Firefox 7.0.1)在测试完成之前一直卡住(我在一台旧的Asus EeePC 1000H上打开了该页面)。
我听说 Web Workers 被发明出来是为了将处理和显示网页的过程分开。使用 Web Workers API 可以使 WebGL 不会阻塞整个 Web 浏览器吗?
是的,在Firefox浏览器中可以做到!
https://hacks.mozilla.org/2016/01/webgl-off-the-main-thread/
我们很高兴地宣布,在Firefox 44+版本中,WebGL可以在Web Workers中使用了!新的OffscreenCanvas API允许你在主线程之外创建一个WebGL上下文。
transferControlToOffscreen
API进行画布渲染。 - loretoparisi默认情况下,你不能在Web Worker中使用WebGL,正如Toji所解释的那样。
你可以查看WebGLWorker这个库,它允许你在Web Worker中做WebGL的事情,通过透明地代理命令到主线程。 这里有一篇很好的博客文章,解释了它是如何工作的。