正在更新空间分区信息



现在我正在开发一个网格空间分区来进行2d粒子碰撞。问题是,我不确定是否有一种方法可以有效地更新网格,而不必在每帧重新分配整个网格。我现在所做的是从对象池中收集对象,将它们放在自己的单元格中,然后在下一帧中分配一个新的网格,因为网格是更新函数的局部变量。有更好的方法来实现这一点吗?当我使用vector时,您会推荐我使用哪种类型的容器,因为它使用连续内存并使用reserve。提前感谢!

对于下一步的当前数据,只需要2个向量1。在需要时保留第二个分配。(例如,使其成为函数的静态成员(当您完成对向量的newt步骤调用swap的计算时,这种方式不需要重新分配,但您必须具有2N内存。(此外,如果所需的长度已知,则调用resize而不是push_back-s,后者既更快,也不会分配比所需更多的内存(

注意:这并不是严格意义上的c++问题,我甚至不知道它是否是一个"问题";有效的";堆栈溢出问题,因为它对以后的读者没有用处。

最新更新