gpt4 book ai didi

javascript - 对于 Javascript 游戏引擎,重新使用全局变量比制作本地变量更有效还是更不有效?

转载 作者:行者123 更新时间:2023-11-29 10:47:59 25 4
gpt4 key购买 nike

很多 Javascript 性能指南倾向于强调两点:

  • 保持在范围内;在每个范围内逐步查找变量的成本很高。
  • 不要通过不断创建不必要的变量来滥用垃圾收集器。

对于以 60fps 或类似高速运行的程序,性能有差异吗? JSPerf在我的系统上似乎介于两者之间,所以我想更多地了解如何针对此类内容进行优化。考虑以下两个代码示例:

var t0;

function doSomethingGlobal() {
t0 = getWhatever();
t0.func1();
t0.func2();
}

诗歌

function doSomethingLocal() {
var t0 = getWhatever();
t0.func1();
t0.func2();
}

http://jsperf.com/global-verses-local

最佳答案

我认为这取决于您访问全局变量的频率,以及全局变量在执行上下文中的嵌套深度。例如,从一个“更高”的执行上下文访问变量比从更高的十个级别访问变量要快(取决于 JS 引擎,我想结果和引擎优化会有所不同)。

我已经 modified your test a bit对全局变量进行 50 次访问,结果很显着,在这个特定测试中(我在 Firefox 19.0 和 Chrome 26 中进行的简短测试),本地访问快了约 5 倍。

对于所有与性能相关的问题,经验法则只能让你走到这一步。 必须对您的代码进行基准测试,并进行对您的代码有意义的优化。

关于javascript - 对于 Javascript 游戏引擎,重新使用全局变量比制作本地变量更有效还是更不有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15829147/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com