From aef9dc8d186bd5f78068ab2d5240b5e9c8ab44b6 Mon Sep 17 00:00:00 2001 From: John Reck Date: Fri, 8 May 2015 14:10:57 -0700 Subject: Fix kSkippedFrame setting It was only set previously if RenderThread dropped the frame, but not if the UI thread frame was dropped. Unify the two paths Change-Id: If2574edde3cb0949deed4e47f3daaddb890a1b28 --- libs/hwui/renderthread/CanvasContext.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'libs/hwui') diff --git a/libs/hwui/renderthread/CanvasContext.cpp b/libs/hwui/renderthread/CanvasContext.cpp index 3de3086..29c72e6 100644 --- a/libs/hwui/renderthread/CanvasContext.cpp +++ b/libs/hwui/renderthread/CanvasContext.cpp @@ -185,6 +185,7 @@ void CanvasContext::prepareTree(TreeInfo& info, int64_t* uiFrameInfo) { } if (CC_UNLIKELY(!mNativeWindow.get())) { + mCurrentFrameInfo->addFlag(FrameInfoFlags::kSkippedFrame); info.out.canDrawThisFrame = false; return; } @@ -197,6 +198,10 @@ void CanvasContext::prepareTree(TreeInfo& info, int64_t* uiFrameInfo) { NATIVE_WINDOW_CONSUMER_RUNNING_BEHIND, &runningBehind); info.out.canDrawThisFrame = !runningBehind; + if (!info.out.canDrawThisFrame) { + mCurrentFrameInfo->addFlag(FrameInfoFlags::kSkippedFrame); + } + if (info.out.hasAnimations || !info.out.canDrawThisFrame) { if (!info.out.requiresUiRedraw) { // If animationsNeedsRedraw is set don't bother posting for an RT anim @@ -298,8 +303,6 @@ void CanvasContext::doFrame() { prepareTree(info, frameInfo); if (info.out.canDrawThisFrame) { draw(); - } else { - mCurrentFrameInfo->addFlag(FrameInfoFlags::kSkippedFrame); } } -- cgit v1.1