1

哪个更快并且消耗更少的内存 - 具有一组属性的对象数组或对象的所有属性作为数组?

我正在制作一个 2d 瓦片游戏,世界由瓦片组成,所以我Tile为每个瓦片创建一个单独的类实例,有人说如果我使用瓦片的属性数组会更快。我想亲眼看看有什么不同,但此时游戏太复杂了,无法重写代码。

更新:我找到了一些时间来测试这两个选项,并且由于内存和 cpu 差异微不足道,对象数组更容易使用(代码可读性 + 调试简单性)。

4

2 回答 2

3

这可能取决于您的数组创建和访问模式;但是,根据经验,我不认为这两种方法会有显着的性能差异。如果你真的认为这可能是一个性能问题,唯一可以确定的方法是实现两者,分析程序并比较结果。

拥有一个数组Tile可能会更简单,直接的代码,所以继续吧。如果您有实际的性能问题,请分析以查找代码中昂贵的部分。

于 2012-07-17T20:25:01.843 回答
2

从内存使用的角度来看,一组属性将消耗更少的内存。但从实际的角度来看,使用对象数组添加了一个抽象层,允许更轻松地调试和轻松修改代码以添加新属性的能力。

于 2012-07-17T20:24:15.467 回答