【发布时间】:2014-04-17 12:14:03
【问题描述】:
我正在开发一款游戏。而且我现在已经阅读了几篇文章,建议我应该重用对象而不是创建新对象,以减少垃圾收集扫入并删除对象时的丢帧。
阅读有关该主题的文章:
- High-Performance, Garbage-Collector-Friendly Code
- Object Pools
- Static Memory Javascript with Object Pools
但是我没有得到我想要的结果。使用对象池给我的帧速率比仅仅创建和销毁对象更差。 除了学习之外,我从中得到的一个好消息是,不使用对象池的测试偶尔会变得无响应并崩溃。
为什么会这样?
为什么我没有得到与那些博客中的人相似的结果?
-
测试 1 - *使用数组来保存对象。通过在两个数组之间移动它们来保持引用。
-
测试 2 - 使用数组来保存对象。不保留参考资料。
偶尔会导致浏览器崩溃:
-
测试 3
-
测试 4
偶尔会导致浏览器崩溃:
如果您认为这可以改进,请编辑。
【问题讨论】:
标签: javascript performance reference garbage-collection premature-optimization