From 1d65cbce882525243d5be7f54e70484058493e93 Mon Sep 17 00:00:00 2001 From: howard-stearns Date: Tue, 8 Dec 2015 18:08:57 -0800 Subject: [PATCH] Remove unneeded getTargetFramePeriod and isVSynchronized. --- interface/src/Application.cpp | 2 -- interface/src/Application.h | 1 - interface/src/avatar/AvatarManager.cpp | 6 ++---- .../display-plugins/Basic2DWindowOpenGLDisplayPlugin.cpp | 7 ------- .../src/display-plugins/Basic2DWindowOpenGLDisplayPlugin.h | 3 --- .../src/display-plugins/openvr/OpenVrDisplayPlugin.h | 1 - libraries/plugins/src/plugins/DisplayPlugin.h | 2 -- plugins/oculus/src/OculusDisplayPlugin.h | 1 - plugins/oculusLegacy/src/OculusLegacyDisplayPlugin.h | 1 - 9 files changed, 2 insertions(+), 22 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 24fd1d1ac9..e01899726a 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -3235,8 +3235,6 @@ bool Application::isHMDMode() const { return getActiveDisplayPlugin()->isHmd(); } float Application::getTargetFrameRate() { return getActiveDisplayPlugin()->getTargetFrameRate(); } -float Application::getTargetFramePeriod() { return getActiveDisplayPlugin()->getTargetFramePeriod(); } -bool Application::isVSynchronized() const { return getActiveDisplayPlugin()->isVSynchronized(); } QRect Application::getDesirableApplicationGeometry() { QRect applicationGeometry = getWindow()->geometry(); diff --git a/interface/src/Application.h b/interface/src/Application.h index 0678477aaa..122b6ea3ae 100644 --- a/interface/src/Application.h +++ b/interface/src/Application.h @@ -124,7 +124,6 @@ public: PickRay computePickRay() const; bool isThrottleRendering() const; - bool isVSynchronized() const; Camera* getCamera() { return &_myCamera; } // Represents the current view frustum of the avatar. diff --git a/interface/src/avatar/AvatarManager.cpp b/interface/src/avatar/AvatarManager.cpp index dff6893bef..7c1a52f1b3 100644 --- a/interface/src/avatar/AvatarManager.cpp +++ b/interface/src/avatar/AvatarManager.cpp @@ -146,7 +146,7 @@ void AvatarManager::updateOtherAvatars(float deltaTime) { PerformanceTimer perfTimer("otherAvatars"); float distance; - if (qApp->isVSynchronized()) { + if (!qApp->isThrottleRendering()) { _renderDistanceController.setMeasuredValueSetpoint(qApp->getTargetFrameRate()); // No problem updating in flight. // The PID controller raises the controlled value when the measured value goes up. // The measured value is frame rate. When the controlled value (1 / render cutoff distance) @@ -155,9 +155,7 @@ void AvatarManager::updateOtherAvatars(float deltaTime) { const float deduced = qApp->getLastUnsynchronizedFps(); distance = 1.0f / _renderDistanceController.update(deduced, deltaTime); } else { - // We could keep the controller running when not vsync'd, if getLastDeducedNonVSyncFps is still meaningful. - // But the basic 2d controller doesn't try to adjust the timer for qt load or getLastPaintWait, so running the - // Here we choose to just use the maximum render cutoff distance if: throttled, running without vsync, or 30-60 "fixed" targets. + // Here we choose to just use the maximum render cutoff distance if throttled. distance = 1.0f / _renderDistanceController.getControlledValueLowLimit(); } _renderDistanceAverage.updateAverage(distance); diff --git a/libraries/display-plugins/src/display-plugins/Basic2DWindowOpenGLDisplayPlugin.cpp b/libraries/display-plugins/src/display-plugins/Basic2DWindowOpenGLDisplayPlugin.cpp index 97e12643a9..9139a9dcc9 100644 --- a/libraries/display-plugins/src/display-plugins/Basic2DWindowOpenGLDisplayPlugin.cpp +++ b/libraries/display-plugins/src/display-plugins/Basic2DWindowOpenGLDisplayPlugin.cpp @@ -113,10 +113,6 @@ bool Basic2DWindowOpenGLDisplayPlugin::isThrottled() const { return shouldThrottle; } -bool Basic2DWindowOpenGLDisplayPlugin::isVSynchronized() const { - return (_framerateTarget == 0) && !_isThrottled; -} - void Basic2DWindowOpenGLDisplayPlugin::updateFramerate() { QAction* checkedFramerate{ nullptr }; foreach(auto action, _framerateActions) { @@ -141,11 +137,8 @@ void Basic2DWindowOpenGLDisplayPlugin::updateFramerate() { } else if (_isThrottled) { _framerateTarget = (float) THROTTLED_FRAMERATE; } - _inverseFrameRate = _framerateTarget ? 1.0f / (float) _framerateTarget : 1.0f / TARGET_FRAMERATE_Basic2DWindowOpenGL; // not truncated int newInterval = getDesiredInterval(); - // Note: when not isVSynchronized, we are often not likely to hit target with a newInterval timer. - // We could try subtracting an allowance for qApp->getLastPaintWait() and qt timer machinery, but that starts getting complicated. qDebug() << newInterval; _timer.start(newInterval); } diff --git a/libraries/display-plugins/src/display-plugins/Basic2DWindowOpenGLDisplayPlugin.h b/libraries/display-plugins/src/display-plugins/Basic2DWindowOpenGLDisplayPlugin.h index bd5359e141..59c0e4e759 100644 --- a/libraries/display-plugins/src/display-plugins/Basic2DWindowOpenGLDisplayPlugin.h +++ b/libraries/display-plugins/src/display-plugins/Basic2DWindowOpenGLDisplayPlugin.h @@ -21,7 +21,6 @@ public: virtual const QString & getName() const override; virtual float getTargetFrameRate() override { return _framerateTarget ? (float) _framerateTarget : TARGET_FRAMERATE_Basic2DWindowOpenGL; } - virtual float getTargetFramePeriod() override { return _inverseFrameRate; } virtual void activate() override; @@ -30,7 +29,6 @@ public: virtual void internalPresent() override; virtual bool isThrottled() const override; - virtual bool isVSynchronized() const override; protected: int getDesiredInterval() const; @@ -44,6 +42,5 @@ private: QAction* _vsyncAction { nullptr }; uint32_t _framerateTarget { 0 }; int _fullscreenTarget{ -1 }; - float _inverseFrameRate{ 1.0f }; //seconds bool _wantVsync { true }; }; diff --git a/libraries/display-plugins/src/display-plugins/openvr/OpenVrDisplayPlugin.h b/libraries/display-plugins/src/display-plugins/openvr/OpenVrDisplayPlugin.h index feb5c0716c..2b51c53d58 100644 --- a/libraries/display-plugins/src/display-plugins/openvr/OpenVrDisplayPlugin.h +++ b/libraries/display-plugins/src/display-plugins/openvr/OpenVrDisplayPlugin.h @@ -23,7 +23,6 @@ public: virtual bool isHmd() const override { return true; } virtual float getTargetFrameRate() override { return TARGET_RATE_OpenVr; } - virtual float getTargetFramePeriod() override { return 1.0f / TARGET_RATE_OpenVr; } virtual void activate() override; virtual void deactivate() override; diff --git a/libraries/plugins/src/plugins/DisplayPlugin.h b/libraries/plugins/src/plugins/DisplayPlugin.h index 5352cf9a87..7f3b38e4a2 100644 --- a/libraries/plugins/src/plugins/DisplayPlugin.h +++ b/libraries/plugins/src/plugins/DisplayPlugin.h @@ -58,9 +58,7 @@ public: /// By default, all HMDs are stereo virtual bool isStereo() const { return isHmd(); } virtual bool isThrottled() const { return false; } - virtual bool isVSynchronized() const { return true; } // false when throttled or run by non vsync timer virtual float getTargetFrameRate() { return 0.0f; } - virtual float getTargetFramePeriod() { return 0.0f; } // Rendering support diff --git a/plugins/oculus/src/OculusDisplayPlugin.h b/plugins/oculus/src/OculusDisplayPlugin.h index 47b41b08b6..071dca0258 100644 --- a/plugins/oculus/src/OculusDisplayPlugin.h +++ b/plugins/oculus/src/OculusDisplayPlugin.h @@ -21,7 +21,6 @@ public: virtual void setEyeRenderPose(uint32_t frameIndex, Eye eye, const glm::mat4& pose) override final; virtual float getTargetFrameRate() override { return TARGET_RATE_Oculus; } - virtual float getTargetFramePeriod() override { return 1.0f / TARGET_RATE_Oculus; } protected: virtual void internalPresent() override; diff --git a/plugins/oculusLegacy/src/OculusLegacyDisplayPlugin.h b/plugins/oculusLegacy/src/OculusLegacyDisplayPlugin.h index 67efcc6575..7fe721fc45 100644 --- a/plugins/oculusLegacy/src/OculusLegacyDisplayPlugin.h +++ b/plugins/oculusLegacy/src/OculusLegacyDisplayPlugin.h @@ -28,7 +28,6 @@ public: virtual int getHmdScreen() const override; virtual float getTargetFrameRate() override { return TARGET_RATE_OculusLegacy; } - virtual float getTargetFramePeriod() override { return 1.0f / TARGET_RATE_OculusLegacy; } // Stereo specific methods virtual bool isHmd() const override { return true; }