如何正确使用Nvidia PhysX的multithreading?

我在Nvidia PhysX中遇到了multithreading问题。 SDK需要你调用Simulate() (开始在新线程中计算新物理位置)和FetchResults() (等待物理计算完成)。 在Simulate()FetchResults()你可能不会“计算新物理”。

建议(在样本中)我们创建一个游戏循环:

  1. 逻辑(你可以计算物理和其他东西)
  2. Render调用开始时Render + Simulate()和在Render()调用结束时执行FetchResults

然而,这给了我各种各样的小错误,因为你实际上渲染了游戏循环中前一次迭代计算的场景。

有没有人有这个解决scheme?