我的程序有多个场景。当然,只有1个场景会随时可见,那么如何停止除当前场景之外的所有其他场景的动画以提高性能?有10个场景,每个场景都有很多让对象表现不佳的物体。如何停止除当前场景之外的多场景动画?
我知道它可以用cancelAnimationFrame()
完成,但是如何实现呢?据说,这是最好的做法,作为recommended去改善它的性能?
这10个场景是一组场景。当前场景是传递给scenes[]
阵列的用户输入数值。
function changeScene() {
// Set the currentScene to the user selection
var sceneNumber = list.options[list.selectedIndex].value;
currentScene = scenes[sceneNumber-1];
// Hide all scenes by default
for(var j=0;j<10;j++){
scenes[j].visible = false;
}
}
除了currentScene
之外,我已经编程了所有默认隐藏的场景。但我发现没有任何帮助研究如何在我的情况下使用cancelAnimationFrame()
。此外,还有一个后续问题:只有在页面加载了所有对象的所有场景后才会使用cancelAnimationFrame()
?或者它也可以帮助加载时间?
我的FIDDLE与上述和相关的代码。
根据您的jsfiddle示例,您已经使用了一个且仅设置为当前场景。没有动画或其他场景的渲染。 – prisoner849
好吧,我很困惑。那么,如果在很多场景中有很多对象,并且'currentScene'在我的实际程序中只有相对较少的对象,那么如果所有其他场景都设置为'''',那么加载页面需要一段时间,可见= false“,并且这些场景的动画被停止了?还有什么可能是加载时间的原因和/或修复? – Zhyohzhy