mWindowWidth( 0 ),
mWindowHeight( 0 ),
mThreadingMode( ThreadingMode::SEPARATE_UPDATE_RENDER ),
+ mRenderRefreshRate( 1 ),
mLogFunction( NULL )
{
ParseEnvironmentOptions();
return mThreadingMode;
}
+unsigned int EnvironmentOptions::GetRenderRefreshRate() const
+{
+ return mRenderRefreshRate;
+}
+
bool EnvironmentOptions::PerformanceServerRequired() const
{
return ( ( GetPerformanceStatsLoggingOptions() > 0) ||
}
}
}
+
+ int renderRefreshRate(0);
+ if ( GetIntegerEnvironmentVariable( DALI_REFRESH_RATE, renderRefreshRate ) )
+ {
+ // Only change it if it's valid
+ if( renderRefreshRate > 1 )
+ {
+ mRenderRefreshRate = renderRefreshRate;
+ }
+ }
}
} // Adaptor
*/
ThreadingMode::Type GetThreadingMode() const;
+ /**
+ * @return The render refresh rate.
+ */
+ unsigned int GetRenderRefreshRate() const;
+
private: // Internal
/**
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;
#define DALI_THREADING_MODE "DALI_THREADING_MODE"
+#define DALI_REFRESH_RATE "DALI_REFRESH_RATE"
+
} // namespace Adaptor
} // namespace Internal
mRenderThread( NULL ),
mVSyncNotifier( NULL ),
mThreadSync( NULL ),
- mNumberOfVSyncsPerRender( 1 )
+ mNumberOfVSyncsPerRender( environmentOptions.GetRenderRefreshRate() )
{
mThreadSync = new ThreadSynchronization( adaptorInterfaces, mNumberOfVSyncsPerRender );
mPerformanceInterface( adaptorInterfaces.GetPerformanceInterface() ),
mLastUpdateRenderTime( 0 ),
mSystemTime( 0 ),
- mRefreshRate( 1 ),
+ mRefreshRate( environmentOptions.GetRenderRefreshRate() ),
mState( State::STOPPED ),
mUpdatingAndRendering( false ),
mStopRequestedWhileRendering( false )