diff options
author | RĂ©mi Verschelde <remi@verschelde.fr> | 2022-04-26 14:52:35 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-26 14:52:35 +0200 |
commit | 5c54770b7cd0be8ed6e9229fd253ae0d98f8b275 (patch) | |
tree | 422e1ac9918cda657db606c76527022f8e757396 | |
parent | a8abdc9372cb748aaa3f6021cf0c3719a3a64033 (diff) | |
parent | 40f0b23482d37fd2b36b75f7cc6f74bfe0d7b0c2 (diff) |
Merge pull request #60528 from bruvzg/thread_pool_delay
Create NavMap thread pool only when it's used, to prevent creating excessive amount of running threads.
-rw-r--r-- | modules/navigation/nav_map.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/modules/navigation/nav_map.cpp b/modules/navigation/nav_map.cpp index 182de45e7c..cbc0adc574 100644 --- a/modules/navigation/nav_map.cpp +++ b/modules/navigation/nav_map.cpp @@ -673,6 +673,9 @@ void NavMap::compute_single_step(uint32_t index, RvoAgent **agent) { void NavMap::step(real_t p_deltatime) { deltatime = p_deltatime; if (controlled_agents.size() > 0) { + if (step_work_pool.get_thread_count() == 0) { + step_work_pool.init(); + } step_work_pool.do_work( controlled_agents.size(), this, @@ -720,7 +723,6 @@ void NavMap::clip_path(const std::vector<gd::NavigationPoly> &p_navigation_polys } NavMap::NavMap() { - step_work_pool.init(); } NavMap::~NavMap() { |