【问题标题】:Very Low performance with 500 agents with A* Pathfinding Unity具有 A* Pathfinding Unity 的 500 个代理的性能非常低
【发布时间】:2020-05-27 12:49:11
【问题描述】:

我在游戏中为 AI 系统使用 A* 寻路和行为管理器,并使用 500 个特工在地图上巡逻。正常吗?我需要将 FPS 提高到 60 FPS 左右,现在是 5 左右......我该怎么办?

经过大量试验,分析器的结果是;

1) 没有 astar 寻路、行为管理器和任何代理(主线程上大约 2 毫秒)。

2) 没有 astar 寻路和行为管理器,只有 500 个代理

3) 仅使用 astar 寻路(没有任何移动命令)和 500 个代理

4) 带有 500 名特工的 astar 寻路和行为管理器(带有巡逻命令)

注意:我在我的代理中使用角色控制器,我尝试禁用它,但收益可以忽略不计。另外,我禁用了 AIBase.cs() 中的 fixedUpdate 部分。

顺便说一句,我正在使用 1 个带有以下选项和结果的单一重铸图。

【问题讨论】:

  • 1.如果您使用 fixedupdate / 刚体,您可以增加固定时间步长Time。 2. 独立构建将提高性能。 3. 买一台更好的电脑。
  • 您也可以尝试ECS方法-ECS
  • 1) 我使用 Update() :/ 2) Standalone 并没有提升很多 :/ 3) 我想没什么可做的吧?这是一款手机游戏……

标签: unity3d a-star


【解决方案1】:

您是否尝试在线程之间拆分它们?寻路算法计算量很大,不应该在更新时完成。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-21
    • 1970-01-01
    相关资源
    最近更新 更多