summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2019-01-03 10:10:47 +0100
committerPaul Lemire <paul.lemire@kdab.com>2019-02-22 09:21:24 +0000
commita075f064f0d8a0bb9d467a813ef2eacf39453ec2 (patch)
tree6f8a52b1b2c7cbe1f303ac8453579ecf42d0d7b6
parentb237f38e89016b40861de1e0675dc2ba5b3f361a (diff)
Set OptimalParallelJobCount to at most 4
Profiling reveals that on fast cpus, having more jobs is counter productive. Set it to at most 4 as it seems to be a good all around values while waiting to fine tune it later on based on platform and hardware. Change-Id: I95033e34f10d7f37dfafe0b21c6724466eb78fae Reviewed-by: Mike Krus <mike.krus@kdab.com>
-rw-r--r--src/render/renderers/opengl/renderer/renderviewbuilder.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/render/renderers/opengl/renderer/renderviewbuilder.cpp b/src/render/renderers/opengl/renderer/renderviewbuilder.cpp
index c256337db..d3d2d2dc4 100644
--- a/src/render/renderers/opengl/renderer/renderviewbuilder.cpp
+++ b/src/render/renderers/opengl/renderer/renderviewbuilder.cpp
@@ -47,7 +47,10 @@ namespace Qt3DRender {
namespace Render {
-const int RenderViewBuilder::m_optimalParallelJobCount = std::max(QThread::idealThreadCount(), 2);
+// In some cases having less jobs is better (especially on fast cpus where
+// splitting just adds more overhead). Ideally, we should try to set the value
+// depending on the platform/CPU/nbr of cores
+const int RenderViewBuilder::m_optimalParallelJobCount = std::max(std::min(4, QThread::idealThreadCount()), 2);
namespace {