0

我只有 Firefox 24.0 才有这个问题:

我用一个对象及其纹理加上 2 个点光源来渲染我的场景,并且在第一次渲染后的大部分时间里,画布变成了白色。

问题是我展示了几幅画布(12),它们同时变成了白色。

Chrome 30.0.1599.69 m 和 IE 10 都没有这个问题

4

1 回答 1

0

感谢一位同事,我找到了解决方法。

实际上,对于 Firefox,在重绘或回流期间,由于 Firefox 处理视频卡的方式,画布可能会变白。

因此,我没有将 Three 的 dom 元素直接附加到 DOM 中,而是创建了一个新的画布,将其放入 dom 中,然后在其上绘制 Three 的 dom 元素。

var onscreenCanvas = document.createElement('canvas');
var ctx = onscreenCanvas.getContext('2d');
ctx.drawImage(threeJsDomElement, 0, 0);

它比一般方法慢一点,但效果很好。

于 2013-10-15T13:44:39.683 回答