X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fvisuals%2Fanimated-vector-image%2Fvector-animation-task.cpp;h=75fa62e74a51776ff76315ccf427860d7135ab11;hb=01ed81eed53f178254888ce2205c14e258cfc270;hp=3966d0cea47c736b57e93e4a7463bc2e7253c8b4;hpb=e33f7800406ec12a6d8879a4a47357be9680428c;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/visuals/animated-vector-image/vector-animation-task.cpp b/dali-toolkit/internal/visuals/animated-vector-image/vector-animation-task.cpp index 3966d0c..75fa62e 100644 --- a/dali-toolkit/internal/visuals/animated-vector-image/vector-animation-task.cpp +++ b/dali-toolkit/internal/visuals/animated-vector-image/vector-animation-task.cpp @@ -524,11 +524,11 @@ uint32_t VectorAnimationTask::GetStoppedFrame(uint32_t startFrame, uint32_t endF VectorAnimationTask::TimePoint VectorAnimationTask::CalculateNextFrameTime(bool renderNow) { - // std::chrono::time_point template has second parameter duration which defaults to the std::chrono::system_clock supported + // std::chrono::time_point template has second parameter duration which defaults to the std::chrono::steady_clock supported // duration. In some C++11 implementations it is a milliseconds duration, so it fails to compile unless mNextFrameStartTime // is casted to use the default duration. mNextFrameStartTime = std::chrono::time_point_cast(mNextFrameStartTime + std::chrono::microseconds(mFrameDurationMicroSeconds)); - auto current = std::chrono::system_clock::now(); + auto current = std::chrono::steady_clock::now(); if(renderNow) { mNextFrameStartTime = current; @@ -538,7 +538,7 @@ VectorAnimationTask::TimePoint VectorAnimationTask::CalculateNextFrameTime(bool { uint32_t droppedFrames = 0; - while(current > std::chrono::time_point_cast(mNextFrameStartTime + std::chrono::microseconds(mFrameDurationMicroSeconds))) + while(current > std::chrono::time_point_cast(mNextFrameStartTime + std::chrono::microseconds(mFrameDurationMicroSeconds)) && droppedFrames < mTotalFrame) { droppedFrames++; mNextFrameStartTime = std::chrono::time_point_cast(mNextFrameStartTime + std::chrono::microseconds(mFrameDurationMicroSeconds));