Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
哪个更快并且消耗更少的内存 - 具有一组属性的对象数组或对象的所有属性作为数组?
我正在制作一个 2d 瓦片游戏,世界由瓦片组成,所以我Tile为每个瓦片创建一个单独的类实例,有人说如果我使用瓦片的属性数组会更快。我想亲眼看看有什么不同,但此时游戏太复杂了,无法重写代码。
Tile
更新:我找到了一些时间来测试这两个选项,并且由于内存和 cpu 差异微不足道,对象数组更容易使用(代码可读性 + 调试简单性)。
这可能取决于您的数组创建和访问模式;但是,根据经验,我不认为这两种方法会有显着的性能差异。如果你真的认为这可能是一个性能问题,唯一可以确定的方法是实现两者,分析程序并比较结果。
拥有一个数组Tile可能会更简单,直接的代码,所以继续吧。如果您有实际的性能问题,请分析以查找代码中昂贵的部分。
从内存使用的角度来看,一组属性将消耗更少的内存。但从实际的角度来看,使用对象数组添加了一个抽象层,允许更轻松地调试和轻松修改代码以添加新属性的能力。