我对three.js很陌生,正在尝试一个非常基础的射击游戏。用户应该射击一个有颜色的木箱。当用户这样做时,箱子会消失,另一个随机的木箱会出现,并且以此类推。
降落时,游戏非常流畅,没有任何延迟。但是,我射击的箱子越多,游戏就越卡顿。在内存分配或垃圾回收方面,我做错了什么吗?这里有一个JSfiddle:https://jsfiddle.net/k0s2nmru/ (虽然我的代码作为单独的页面运行良好,但似乎放在JSfiddle中就无法正常工作)更新:我添加了three.js提供的统计数据。它们给出了相当不错的每秒帧数(高达150或更多),尽管游戏开始变得卡顿。也许我没有正确实现它?
if (intersects.length > 0) {
intersects[0].object.material.color.setHex(Math.random() * 0xffffff);
scene.remove(object);
create_cube();
animate();
...
降落时,游戏非常流畅,没有任何延迟。但是,我射击的箱子越多,游戏就越卡顿。在内存分配或垃圾回收方面,我做错了什么吗?这里有一个JSfiddle:https://jsfiddle.net/k0s2nmru/ (虽然我的代码作为单独的页面运行良好,但似乎放在JSfiddle中就无法正常工作)更新:我添加了three.js提供的统计数据。它们给出了相当不错的每秒帧数(高达150或更多),尽管游戏开始变得卡顿。也许我没有正确实现它?