From 7dfdc796448e23c5f231a3c319fe64c94fa1abdb Mon Sep 17 00:00:00 2001 From: Sam Gateau Date: Tue, 28 Aug 2018 12:21:15 -0700 Subject: [PATCH] Picking pid values --- interface/src/LODManager.cpp | 5 ++++- interface/src/LODManager.h | 2 +- scripts/developer/utilities/render/lod.qml | 4 ++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/interface/src/LODManager.cpp b/interface/src/LODManager.cpp index 91a547cf31..411e0156b5 100644 --- a/interface/src/LODManager.cpp +++ b/interface/src/LODManager.cpp @@ -103,7 +103,10 @@ void LODManager::autoAdjustLOD(float realTimeDelta) { auto output = Kp * error + Ki * integral + Kd * derivative; previous_error = error; - auto newSolidAngle = std::max( 0.1f, std::min(output, 45.f)); + + auto newSolidAngle = oldSolidAngle + output; + + newSolidAngle = std::max( 0.5f, std::min(newSolidAngle, 90.f)); auto halTan = glm::tan(glm::radians(newSolidAngle * 0.5f)); diff --git a/interface/src/LODManager.h b/interface/src/LODManager.h index 2251281ae2..b2e324a820 100644 --- a/interface/src/LODManager.h +++ b/interface/src/LODManager.h @@ -237,7 +237,7 @@ private: float _octreeSizeScale = DEFAULT_OCTREE_SIZE_SCALE; int _boundaryLevelAdjust = 0; - glm::vec4 _pid{ 0.1f, 0.0f, 0.0f, 3.0f }; + glm::vec4 _pid{ 0.06f, 0.005f, 0.01f, 4.0f }; uint64_t _decreaseFPSExpiry { 0 }; uint64_t _increaseFPSExpiry { 0 }; diff --git a/scripts/developer/utilities/render/lod.qml b/scripts/developer/utilities/render/lod.qml index 742e8c0dc1..1ca9b68de2 100644 --- a/scripts/developer/utilities/render/lod.qml +++ b/scripts/developer/utilities/render/lod.qml @@ -98,7 +98,7 @@ Item { label: "LOD PID Ki" valueVar: LODManager["pidKi"] valueVarSetter: (function (v) { LODManager["pidKi"] = v }) - max: 1.0 + max: 0.02 min: 0.0 integral: false @@ -111,7 +111,7 @@ Item { label: "LOD PID Kd" valueVar: LODManager["pidKd"] valueVarSetter: (function (v) { LODManager["pidKd"] = v }) - max: 1.0 + max: 0.1 min: 0.0 integral: false