- // Update Time values
- mPlatformAbstraction.IncrementGetTimeResult( intervalMilliseconds );
- unsigned int seconds(0u), microseconds(0u);
- mPlatformAbstraction.GetTimeMicroseconds( seconds, microseconds );
+ if( GetUpdateStatus() == 0 &&
+ mRenderStatus.NeedsUpdate() == false &&
+ ! GetRenderController().WasCalled(TestRenderController::RequestUpdateFunc) )
+ {
+ fprintf(stderr, "WARNING - Update not required :%s\n", location==NULL?"NULL":location);
+ }
+
+ unsigned int nextVSyncTime = mLastVSyncTime + intervalMilliseconds;
+ float elapsedSeconds = intervalMilliseconds / 1e3f;
+
+ mCore->Update( elapsedSeconds, mLastVSyncTime, nextVSyncTime, mStatus );
+
+ GetRenderController().Initialize();
+
+ mLastVSyncTime = nextVSyncTime;
+}