OSDN Git Service

Merge \\"Consider queue & dequeue times for should draw\\" into nyc-mr1-dev am: 3a465...
authorJohn Reck <jreck@google.com>
Thu, 7 Jul 2016 16:40:20 +0000 (16:40 +0000)
committerandroid-build-merger <android-build-merger@google.com>
Thu, 7 Jul 2016 16:40:20 +0000 (16:40 +0000)
am: 6354336493

Change-Id: Idbe85f08c27cc6f9433badd886a1fe7d9ba73c4f

1  2 
libs/hwui/renderthread/CanvasContext.cpp
libs/hwui/renderthread/CanvasContext.h

@@@ -240,9 -280,14 +279,14 @@@ void CanvasContext::prepareTree(TreeInf
          return;
      }
  
 -    if (CC_LIKELY(mSwapHistory.size())) {
 +    if (CC_LIKELY(mSwapHistory.size() && !Properties::forceDrawFrame)) {
          nsecs_t latestVsync = mRenderThread.timeLord().latestVsync();
-         const SwapHistory& lastSwap = mSwapHistory.back();
+         SwapHistory& lastSwap = mSwapHistory.back();
+         int durationUs;
+         mNativeSurface->query(NATIVE_WINDOW_LAST_DEQUEUE_DURATION, &durationUs);
+         lastSwap.dequeueDuration = us2ns(durationUs);
+         mNativeSurface->query(NATIVE_WINDOW_LAST_QUEUE_DURATION, &durationUs);
+         lastSwap.queueDuration = us2ns(durationUs);
          nsecs_t vsyncDelta = std::abs(lastSwap.vsyncTime - latestVsync);
          // The slight fudge-factor is to deal with cases where
          // the vsync was estimated due to being slow handling the signal.