【问题标题】:Unity 3D: Adding rigidbody to sphere crashes frame rateUnity 3D:将刚体添加到球体会导致帧速率下降
【发布时间】:2016-09-29 08:23:20
【问题描述】:

Unity 3D 中发生了一个奇怪的问题:我有一个空场景,然后我添加了新的球体游戏对象,按下运行,球保持静止。我可以在游戏窗口中看到 FPS 没问题。

然后我将刚体组件添加到同一个球体并按下播放。球体开始下降,但帧速率急剧下降,低于 3 FPS。

我已经更新了 Nvida 驱动程序,我也在 32 位和 64 位最新的 Unity 版本中进行了尝试。

物理计算似乎有问题。 有没有人遇到过类似的问题? 关于如何进一步调试此问题的任何提示?

【问题讨论】:

  • 在我的团结中它很好。 5.4 在这两种情况下,我的 fps 相同,接近 80。
  • 这真是奇怪的行为 - 如果您打开 Unity Profiler,它可能会让您更深入地了解究竟是什么导致了性能下降。在添加刚体之前和之后运行它,看看图表告诉你什么。
  • 您的场景是否可能充满了其他未设置为运动学的刚体?有可能因为您引入了一个移动对象,它必须检查场景中的所有其他刚体是否发生碰撞。只是一个想法。

标签: unity3d unity5


【解决方案1】:

有时 Vsync 可以充当 FPS 滴管。

所以检查编辑>>项目设置>>质量>>垂直同步计数

将垂直同步计数设置为不同步。 它应该会增加你的 FPS。

如果它没有帮助,那么您可能会有一些奇怪的脚本。 所以试试 Profiler。转到 Windows>>Profiler。

然后运行你的游戏,看看是什么占用了你的最高 CPU。

【讨论】:

  • 嘿,感谢您的建议,但不幸的是,更改 V Sync 并没有帮助。我使用了一个分析器,发现分配的内存正在线性填充imgur.com/a/zOv9U。我禁用了所有脚本,但这并没有改变任何东西。这也是 CPU 部分的屏幕:imgur.com/a/1YYWq。在没有将刚体组件附加到球体的情况下运行场景会产生 ~900 FPS。
  • @Jacob S 你的项目中有任何脚本或插件吗?因为 3000+physics.processing 调用太多了。您使用的统一版本。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多