2015-05-19 50 views
-2

我正在使用爲敵人尋路的節點服務器進行遊戲。我使用的是100x100網格地圖,我沒有看到任何性能下降,但是當我將大小提高到1000x1000時,每次生成路徑時,服務器上現在都有1秒的延遲。可能的路徑查找1000x1000網格圖NodeJS?

目前我正在使用PathFindingjs和A *路徑查找。是否有更好的路徑查找庫或路徑查找算法,可以毫不拖延地使用1000x1000的網格,還是我運氣不好?

任何幫助表示讚賞,謝謝。

+0

如果您打算低估我的問題,請告訴我爲什麼。 – ThatWeirdDude

+0

A *找到*最佳路徑*,這是一個很好的算法,你只是想找到*任何路徑*?你可能只想用一種貪婪的方式去做。 –

+1

...但是當我增加10,000X的工作量時,它放慢了速度。令人震驚。 – dandavis

回答

1

「延遲」是什麼意思?比如,當沒有其他事情發生時,處理更大的網格需要更長的時間?或者,計算路徑時處理「凍結」,然後繼續?

花費較長時間處理對於大型處理空間來說是很自然的。更多的單元需要更多的計算能力。除了其他CPU內核或某種處理服務之外,沒有辦法解決這個問題。這可能是您的問題的答案。

Nodejs是一個單線程系統,所有處理都會掛起正在進行的其他操作。可能有許多方法可以運行不會明顯影響其他事物的路徑處理塊 - 不確定如何構建庫。或者將網格劃分爲路徑算法更易於管理的部分(4 500x500網格幾乎是相同的?)。或者在同一臺計算機上安裝兩臺不同的服務器 - 路徑和其他服務器,並分段請求。