如何解决是否有更快的方法将数据插入特定位置的 AoSoA?
目前正在试验 SoA AoSoA,对它有点陌生,所以想通过一些简单的项目了解更多。
基本的 AoSoA 布局如下所示。
struct Entity_4i {
std::array<int32_t,4> entityID;
};
std::vector<Entity_4i> Entities;
我现在的方法是,一旦我在 Entities[0][2] 中插入一个值,我就必须检查 Entities 中的最后一个数组是否有任何可用空间。如果有我复制 Entities[0][2] 一个索引处的旧值。然后,我针对 AoSoA 中存在多少元素重复此过程。这种工作方式很可能会随着 AoSoA 变大而变得非常缓慢。如果没有剩余空间,我还必须分配一个新数组,这也会增加当前方法的延迟。
是否有更好的方法将元素从 AoSoA 的特定索引向右改组?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。