基于three.js中的mirror example,我重新创建了一个很好的旧praxinoscope"电影放映机",其中一列镜像反映了一小段图像来创建运动的幻觉。
在three.js的第84版中,这很有效。
使用v84的示例:https://codepen.io/Sphinxxxx/pen/eEbjba
在版本85中,对Mirror.js进行了一些更改,在以后的版本中,所有镜像(在这种情况下为8个镜像)使得praxinoscope非常慢(低FPS)。
使用v87的示例:https://codepen.io/Sphinxxxx/pen/vJvozR
我怀疑性能缓慢与许多递归调用和从onBeforeRender()
调用Mirror.js
函数开始的不必要渲染有关。堆栈跟踪:
如果查看代码,则会在addMirrorAndImage()
函数中创建并添加镜像。是否有更好的方法来添加镜像,或者其他一些技巧可以提供与旧版(v85之前版本)相同的性能?