哪个更快并且消耗更少的内存 - 具有一组属性的对象数组或对象的所有属性作为数组?
我正在制作一个 2d 瓷砖游戏,世界由瓷砖组成,所以我为每个瓷砖创建了一个单独的 Tile
类实例,有人说如果我使用数组可能会更快瓷砖的属性。我想亲眼看看其中的区别,但此时游戏太复杂,无法重写代码。
更新:我抽出一些时间来测试这两个选项,内存和 cpu 差异很小,对象数组胜出,因为它更容易使用(代码可读性 + 调试简单性)。
最佳答案
这可能取决于您的数组创建和访问模式;但是,根据经验,我不认为这两种方法会有显着的性能差异。如果您真的认为这可能是一个性能问题,唯一可以确定的方法是同时实现两者、分析程序并比较结果。
拥有一个 Tile
数组可能会更简单、直接的代码,所以就这样吧。如果您有实际的性能问题,请分析以找到代码的昂贵部分。
关于c# - 对象数组与对象属性数组——哪个更有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11530261/