// INTERNAL INCLUDES
#include <base/interfaces/adaptor-internal-services.h>
#include <base/environment-options.h>
+#include <base/time-service.h>
namespace Dali
{
const float SECONDS_PER_FRAME = MILLISECONDS_PER_FRAME * 0.001f;
const unsigned int NANOSECONDS_PER_MICROSECOND( 1000u );
-const unsigned int MICROSECONDS_PER_SECOND( 1000000u );
-const float MICROSECONDS_TO_SECONDS( 0.000001f );
+const float NANOSECONDS_TO_SECONDS( 1e-9f );
#if defined(DEBUG_ENABLED)
Integration::Log::Filter* gLogFilter = Integration::Log::Filter::New(Debug::NoLogging, false, "LOG_THREAD_SYNC");
mUpdateStatusLogger( environmentOptions ),
mRenderHelper( adaptorInterfaces ),
mCore( adaptorInterfaces.GetCore()),
- mPlatformAbstraction( adaptorInterfaces.GetPlatformAbstractionInterface() ),
mPerformanceInterface( adaptorInterfaces.GetPerformanceInterface() ),
mLastUpdateRenderTime( 0 ),
mSystemTime( 0 ),
- mRefreshRate( 1 ),
+ mRefreshRate( environmentOptions.GetRenderRefreshRate() ),
mState( State::STOPPED ),
mUpdatingAndRendering( false ),
mStopRequestedWhileRendering( false )
Integration::RenderStatus renderStatus;
mRenderHelper.PreRender();
mCore.Render( renderStatus );
- if( renderStatus.HasRendered() )
- {
- mRenderHelper.PostRender();
- }
+ mRenderHelper.PostRender();
}
}
mRenderHelper.ReplaceSurface( newSurface );
}
+void SingleThreadController::ResizeSurface()
+{
+ DALI_LOG_ERROR( "SingleThreadController::ResizeSurface: Not supported\n" );
+}
+
void SingleThreadController::SetRenderRefreshRate( unsigned int refreshRate )
{
if ( refreshRate != mRefreshRate )
mCore.Render( renderStatus );
AddPerformanceMarker( PerformanceInterface::RENDER_END );
- if( renderStatus.HasRendered() )
- {
- mRenderHelper.PostRender();
- }
+ mRenderHelper.PostRender();
if( ! keepUpdatingStatus &&
! renderStatus.NeedsUpdate() )
// No need calculating if FPS tracking is NOT enabled
if( mFpsTracker.Enabled() )
{
- uint64_t seconds = 0;
- uint64_t microSeconds = 0;
-
- mPlatformAbstraction.GetTimeNanoseconds( seconds, microSeconds );
- microSeconds /= NANOSECONDS_PER_MICROSECOND;
-
- uint64_t currentTime = ( seconds * MICROSECONDS_PER_SECOND ) + microSeconds;
+ uint64_t currentTime = 0;
+ TimeService::GetNanoseconds( currentTime );
uint64_t delta = currentTime - mSystemTime;
mSystemTime = currentTime;
- timeSinceLastRender = delta * MICROSECONDS_TO_SECONDS;
+ timeSinceLastRender = delta * NANOSECONDS_TO_SECONDS;
}
return timeSinceLastRender;