在我当前的项目中,我使用 Threejs 构建一个带有网格的关卡。相机、场景、投影仪、渲染器等的所有图形内容都在一个对象中完成。出于测试目的,我想用不同的参数重置整个场景,例如不同的关卡大小。
因为我想要测量算法的时间,所以我想要“完全”重置。所以我目前的方法是删除包含场景/画布的 div 框并删除具有threejs代码的整个对象。在此之后,我为图形级别实例化一个新对象。不幸的是,连续 10 次这样做会导致性能大幅下降。
我还尝试使用 scene.delete() 删除场景中的所有网格,并在删除整个对象之前删除场景、渲染器等内容。但仍然存在性能问题。
那么如何在不损失性能的情况下实现所有图形 webgl 组件的整体重置呢?
提前致谢。