javascript - 循环 : 10, 000 个数组(浪费时间)与 1 个全局数组(浪费内存)

标签 javascript arrays performance

出于性能原因,我将游戏 map 分为 10,000 个图 block 。每个图 block 都有一个实体数组。因此,进入/离开图 block 的实体被推送到相应的数组中/从相应的数组中删除。

另一方面,为了避免在 10,000 个数组上循环以每 x 毫秒更新所有实体,什么是最重要的处理数组的有效方法?

除了图 block 数组之外,我是否应该创建一个包含所有图 block 中的所有实体的全局数组?这不是浪费内存吗?

最佳答案

这是性能调优、处理与内存中常见的二分法。 我一如既往的回答(特别是关于性能)是“这取决于”。唯一真正了解的方法是测量两者,看看速度/内存使用情况是否在可接受的范围内。例如。如果您想要 60fps,则必须<每帧 16 毫秒,没有任何问题。

我的建议是以对读者(即您/您的团队)最合乎逻辑的方式来实现它,并且只有在它有效时才对代码进行破坏以提高性能(然后,只有在您可以衡量它们时) 。这可以防止您在没有证据证明代码是必需的并且是实际改进的情况下“优化”代码并使其不可读/不可维护(或者至少不那么难以维护)。

关于javascript - 循环 : 10, 000 个数组(浪费时间)与 1 个全局数组(浪费内存),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39942766/

相关文章:

java - 如何将对主 Activity 的引用传递到每个后续 Activity 的构造函数中

javascript - Sails : JSON array of Model objects successfully created and displayed, 但只有一些保存到数据库

以特定方式将 PHP CSV 转换为数组

javascript - 如何比较两段相似代码的性能?

javascript - react : Uncaught TypeError: Cannot read property 'setState' of undefined

c - 什么是替换 2D (10x10) int 数组中重复元素的有效方法

performance - React 16 性能中的无状态函数与类

javascript - 使用 JavaScript 拆分 CSV

javascript - JSONP 请求和 AJAX 请求有什么区别?

javascript - 如何在 Google 站点搜索/自定义搜索的 v2 中指定 as_sitesearch?