diff options
author | bruvzg <7645683+bruvzg@users.noreply.github.com> | 2022-04-26 15:00:00 +0300 |
---|---|---|
committer | bruvzg <7645683+bruvzg@users.noreply.github.com> | 2022-04-26 15:00:00 +0300 |
commit | 40f0b23482d37fd2b36b75f7cc6f74bfe0d7b0c2 (patch) | |
tree | 422e1ac9918cda657db606c76527022f8e757396 /modules/navigation | |
parent | a8abdc9372cb748aaa3f6021cf0c3719a3a64033 (diff) |
Create NavMap thread pool only when it's used, to prevent creating excessive amount of running threads.
Diffstat (limited to 'modules/navigation')
-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() { |