From: Adeel Kazmi Date: Mon, 9 Nov 2015 15:33:59 +0000 (+0000) Subject: Added environment variable DALI_REFRESH_RATE to control the render refresh rate X-Git-Tag: dali_1.1.11~8 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4b8e9a984bfbcae6d20fa2b21779e3437b0e348e;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git Added environment variable DALI_REFRESH_RATE to control the render refresh rate Change-Id: I240eb3a21ad84cccc87e3157f2d4f025cea9ab86 --- diff --git a/adaptors/base/environment-options.cpp b/adaptors/base/environment-options.cpp index 150b9d7..87a7406 100644 --- a/adaptors/base/environment-options.cpp +++ b/adaptors/base/environment-options.cpp @@ -105,6 +105,7 @@ EnvironmentOptions::EnvironmentOptions() mWindowWidth( 0 ), mWindowHeight( 0 ), mThreadingMode( ThreadingMode::SEPARATE_UPDATE_RENDER ), + mRenderRefreshRate( 1 ), mLogFunction( NULL ) { ParseEnvironmentOptions(); @@ -241,6 +242,11 @@ ThreadingMode::Type EnvironmentOptions::GetThreadingMode() const return mThreadingMode; } +unsigned int EnvironmentOptions::GetRenderRefreshRate() const +{ + return mRenderRefreshRate; +} + bool EnvironmentOptions::PerformanceServerRequired() const { return ( ( GetPerformanceStatsLoggingOptions() > 0) || @@ -368,6 +374,16 @@ void EnvironmentOptions::ParseEnvironmentOptions() } } } + + int renderRefreshRate(0); + if ( GetIntegerEnvironmentVariable( DALI_REFRESH_RATE, renderRefreshRate ) ) + { + // Only change it if it's valid + if( renderRefreshRate > 1 ) + { + mRenderRefreshRate = renderRefreshRate; + } + } } } // Adaptor diff --git a/adaptors/base/environment-options.h b/adaptors/base/environment-options.h index 7f0f771..78528a2 100644 --- a/adaptors/base/environment-options.h +++ b/adaptors/base/environment-options.h @@ -193,6 +193,11 @@ public: */ ThreadingMode::Type GetThreadingMode() const; + /** + * @return The render refresh rate. + */ + unsigned int GetRenderRefreshRate() const; + private: // Internal /** @@ -226,6 +231,7 @@ private: // Data unsigned int mWindowWidth; ///< width of the window unsigned int mWindowHeight; ///< height of the window ThreadingMode::Type mThreadingMode; ///< threading mode + unsigned int mRenderRefreshRate; ///< render refresh rate Dali::Integration::Log::LogFunction mLogFunction; diff --git a/adaptors/base/environment-variables.h b/adaptors/base/environment-variables.h index 627ee59..e62bc0a 100644 --- a/adaptors/base/environment-variables.h +++ b/adaptors/base/environment-variables.h @@ -89,6 +89,8 @@ namespace Adaptor #define DALI_THREADING_MODE "DALI_THREADING_MODE" +#define DALI_REFRESH_RATE "DALI_REFRESH_RATE" + } // namespace Adaptor } // namespace Internal diff --git a/adaptors/base/separate-update-render/separate-update-render-controller.cpp b/adaptors/base/separate-update-render/separate-update-render-controller.cpp index 91d56c9..0e99f81 100644 --- a/adaptors/base/separate-update-render/separate-update-render-controller.cpp +++ b/adaptors/base/separate-update-render/separate-update-render-controller.cpp @@ -42,7 +42,7 @@ SeparateUpdateRenderController::SeparateUpdateRenderController( AdaptorInternalS mRenderThread( NULL ), mVSyncNotifier( NULL ), mThreadSync( NULL ), - mNumberOfVSyncsPerRender( 1 ) + mNumberOfVSyncsPerRender( environmentOptions.GetRenderRefreshRate() ) { mThreadSync = new ThreadSynchronization( adaptorInterfaces, mNumberOfVSyncsPerRender ); diff --git a/adaptors/base/single-threaded/single-thread-controller.cpp b/adaptors/base/single-threaded/single-thread-controller.cpp index 9d70fe8..1397a3c 100644 --- a/adaptors/base/single-threaded/single-thread-controller.cpp +++ b/adaptors/base/single-threaded/single-thread-controller.cpp @@ -61,7 +61,7 @@ SingleThreadController::SingleThreadController( AdaptorInternalServices& adaptor mPerformanceInterface( adaptorInterfaces.GetPerformanceInterface() ), mLastUpdateRenderTime( 0 ), mSystemTime( 0 ), - mRefreshRate( 1 ), + mRefreshRate( environmentOptions.GetRenderRefreshRate() ), mState( State::STOPPED ), mUpdatingAndRendering( false ), mStopRequestedWhileRendering( false )