问题描述
目前正在试验 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 (将#修改为@)