three.js场景中的多个镜像会导致性能下降

时间:2017-08-31 21:23:08

标签: three.js mirror

基于three.js中的mirror example,我重新创建了一个很好的旧praxinoscope"电影放映机",其中一列镜像反映了一小段图像来创建运动的幻觉。

在three.js的第84版中,这很有效。

使用v84的示例:https://codepen.io/Sphinxxxx/pen/eEbjba enter image description here

在版本85中,对Mirror.js进行了一些更改,在以后的版本中,所有镜像(在这种情况下为8个镜像)使得praxinoscope非常慢(低FPS)。

使用v87的示例:https://codepen.io/Sphinxxxx/pen/vJvozR enter image description here

我怀疑性能缓慢与许多递归调用和从onBeforeRender()调用Mirror.js函数开始的不必要渲染有关。堆栈跟踪:

enter image description here

如果查看代码,则会在addMirrorAndImage()函数中创建并添加镜像。是否有更好的方法来添加镜像,或者其他一些技巧可以提供与旧版(v85之前版本)相同的性能?

1 个答案:

答案 0 :(得分:1)

已修复v88(Reflector重命名为netstat -an):https://codepen.io/Sphinxxxx/pen/dZYKwP