Three.js场景切换性能问题

时间:2017-03-18 11:10:45

标签: javascript performance three.js

我在three.js中创建了一个游戏,其中有3个场景MenuSceneHighScoreSceneMenuScene。用户可以在这些场景之间切换 - 当玩家改变场景时,例如从HighScoreScene function cancelAnimation() { cancelAnimationFrame(animationFrameId); // EXECUTING WHEN SWITCHING SCENE!!! } function animate() { animationFrameId = requestAnimationFrame(animate); // Saving id render(); } function render() { renderer.clear(); renderer.render(scene, camera); } 我尝试清理旧场景中的资源。

但清理资源似乎不起作用。 所以这是我的代码,当用户在场景之间切换时执行该代码:

所以在旧场景中我有这个动画循环:

cancelAnimation

因此,当切换场景时,我取消设置所有点击聆听者,并且我正在呼叫var menuScene = new MenuScene()

因为我在menuScene = undefined这样的对象中存储每个场景的代码,所以在切换场景时我也会这样做var renderer = new THREE.WebGLRenderer();

我也将- (nullable UIView *)resizableSnapshotViewFromRect:(CGRect)rect afterScreenUpdates:(BOOL)afterUpdates withCapInsets:(UIEdgeInsets)的同一个实例传递给了场景。

这一切似乎都没有帮助游戏执行得更慢。

在这些场景之间切换和清理资源的正确方法是什么?我在这做错了什么?

0 个答案:

没有答案