【发布时间】:2013-02-25 00:24:55
【问题描述】:
我在 three.js 应用程序中使用 web worker 时发生了一些奇怪的事情。在第一次加载新页面时,它看起来不错。
https://dl.dropbox.com/u/42766757/beforezoom.png
但是在几次页面重新加载(比如 20 次)之后,并且只有当 web 工作者正在执行时,才会发生这种情况:
https://dl.dropbox.com/u/42766757/afterzoom.png
这是我在右上角的立方体!由于某种原因,它似乎在 20 次左右重新加载后放大。
但是,如果我将屏幕大小调整为更小,立方体会弹回中间。我检查了屏幕高度/宽度的比率是否在立方体会弹回的点处始终相同,而事实并非如此。
另外,如果我继续重新加载页面,它会到达立方体消失的位置,最终屏幕变为空白。但随后我再次在新窗口中重新加载页面,一切都恢复原状。
起初我认为这可能与 web worker 没有正确终止有关,所以我设置了一个 beforeunload 事件处理程序来杀死我所有的 worker,但没有成功。所以我不确定这里发生了什么。救命!
我使用的是 chrome 24,它在 Firefox 18 中似乎不是问题。
【问题讨论】:
标签: javascript three.js webgl web-worker