diff options
author | John Reck <jreck@google.com> | 2015-07-06 13:49:58 -0700 |
---|---|---|
committer | John Reck <jreck@google.com> | 2015-07-06 16:12:46 -0700 |
commit | be3fba05e823f740f65b2679929347dc3dd282ad (patch) | |
tree | 8dfd52f0e6297d009dd7e671ac8187a7dfac6996 /libs/hwui/renderthread/DrawFrameTask.cpp | |
parent | a559590043e32f670813e062f042f9e642297edf (diff) |
Adjust for pipeline stalls
Bug: 20853441
Calculating duration that crosses the UI-RT
sync point will now subtract out the time spent waiting
in queue under the assumption that this time will be
accounted for in the previous frame's metrics
Change-Id: Ia8213f4410638840613f5ae439e98dfb77532a6a
Diffstat (limited to 'libs/hwui/renderthread/DrawFrameTask.cpp')
-rw-r--r-- | libs/hwui/renderthread/DrawFrameTask.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libs/hwui/renderthread/DrawFrameTask.cpp b/libs/hwui/renderthread/DrawFrameTask.cpp index 008e2977b832..6507ce824e03 100644 --- a/libs/hwui/renderthread/DrawFrameTask.cpp +++ b/libs/hwui/renderthread/DrawFrameTask.cpp @@ -69,6 +69,7 @@ int DrawFrameTask::drawFrame() { LOG_ALWAYS_FATAL_IF(!mContext, "Cannot drawFrame with no CanvasContext!"); mSyncResult = kSync_OK; + mSyncQueued = systemTime(CLOCK_MONOTONIC); postAndWait(); return mSyncResult; @@ -119,7 +120,7 @@ bool DrawFrameTask::syncFrameState(TreeInfo& info) { mContext->processLayerUpdate(mLayers[i].get()); } mLayers.clear(); - mContext->prepareTree(info, mFrameInfo); + mContext->prepareTree(info, mFrameInfo, mSyncQueued); // This is after the prepareTree so that any pending operations // (RenderNode tree state, prefetched layers, etc...) will be flushed. |