X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Fdali-toolkit-test-utils%2Ftest-application.cpp;h=c2680b229b4a5ba368f247b761de8bfc3dbe47ee;hp=ea7e48e8683f0b1a88a6c7e7a939894e1af69ec0;hb=d4da08c0503a1e8fa255fd6e0ee00598d052aa10;hpb=369e65bb8f37d1d84934e6edc3a5981c07396320 diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-application.cpp b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-application.cpp index ea7e48e..c2680b2 100644 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-application.cpp +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-application.cpp @@ -29,7 +29,8 @@ TestApplication::TestApplication( size_t surfaceWidth, mSurfaceWidth( surfaceWidth ), mSurfaceHeight( surfaceHeight ), mFrame( 0u ), - mDpi( horizontalDpi, verticalDpi ) + mDpi( horizontalDpi, verticalDpi ), + mLastVSyncTime(0u) { Initialize(); } @@ -142,15 +143,23 @@ void TestApplication::SetSurfaceWidth( unsigned int width, unsigned height ) mCore->SurfaceResized( mSurfaceWidth, mSurfaceHeight ); } -bool TestApplication::Render( unsigned int intervalMilliseconds ) +void TestApplication::DoUpdate( unsigned int intervalMilliseconds ) { - // Update Time values - mPlatformAbstraction.IncrementGetTimeResult( intervalMilliseconds ); unsigned int seconds(0u), microseconds(0u); mPlatformAbstraction.GetTimeMicroseconds( seconds, microseconds ); + mLastVSyncTime = ( seconds * 1e3 ) + ( microseconds / 1e3 ); + unsigned int nextVSyncTime = mLastVSyncTime + 16; + + // Update Time values + mPlatformAbstraction.IncrementGetTimeResult( intervalMilliseconds ); + + float elapsedSeconds = intervalMilliseconds / 1e3f; + mCore->Update( elapsedSeconds, mLastVSyncTime, nextVSyncTime, mStatus ); +} - mCore->VSync( mFrame, seconds, microseconds ); - mCore->Update( mStatus ); +bool TestApplication::Render( unsigned int intervalMilliseconds ) +{ + DoUpdate( intervalMilliseconds ); mCore->Render( mRenderStatus ); mFrame++; @@ -165,14 +174,7 @@ unsigned int TestApplication::GetUpdateStatus() bool TestApplication::UpdateOnly( unsigned int intervalMilliseconds ) { - // Update Time values - mPlatformAbstraction.IncrementGetTimeResult( intervalMilliseconds ); - unsigned int seconds(0u), microseconds(0u); - mPlatformAbstraction.GetTimeMicroseconds( seconds, microseconds ); - - mCore->VSync( mFrame, seconds, microseconds ); - mCore->Update( mStatus ); - + DoUpdate( intervalMilliseconds ); return mStatus.KeepUpdating(); }