From 5dfd2709b7bbc68d955e85f34dfe41418b8de2b8 Mon Sep 17 00:00:00 2001 From: psi29a Date: Fri, 3 Mar 2023 19:52:15 +0000 Subject: [PATCH] Merge branch 'fix_clamp_physics_threads' into 'master' Fix clamping physics threads See merge request OpenMW/openmw!2792 (cherry picked from commit fbb00027d83b2f2964443b5a5c65d12217af9b36) 3d3cccb8 Fix clamping physics threads --- apps/openmw/mwphysics/mtphysics.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/openmw/mwphysics/mtphysics.cpp b/apps/openmw/mwphysics/mtphysics.cpp index 7c01e13c63..e43b3bfe5f 100644 --- a/apps/openmw/mwphysics/mtphysics.cpp +++ b/apps/openmw/mwphysics/mtphysics.cpp @@ -322,8 +322,8 @@ namespace MWPhysics case LockingPolicy::ExclusiveLocksOnly: return 1; case LockingPolicy::AllowSharedLocks: - return static_cast(std::max( - getMaxBulletSupportedThreads(), Settings::Manager::getInt("async num threads", "Physics"))); + return static_cast(std::clamp( + Settings::Manager::getInt("async num threads", "Physics"), 0, getMaxBulletSupportedThreads())); } throw std::runtime_error("Unsupported LockingPolicy: " @@ -363,6 +363,7 @@ namespace MWPhysics { if (mNumThreads >= 1) { + Log(Debug::Info) << "Using " << mNumThreads << " async physics threads"; for (unsigned i = 0; i < mNumThreads; ++i) mThreads.emplace_back([&] { worker(); } ); }