Bug 1520269 - Use the most recently skipped vsync id for catch up composites. r=jrmuizel
authorMatt Woodrow <mwoodrow@mozilla.com>
Fri, 25 Jan 2019 05:09:46 +0000
changeset 515397 30b603686936b9247510a0276e765e558bb91ae6
parent 515396 e94784a52618ac32bbff793b767752000b131fa3
child 515398 8c3a041f077f9d01e12aff3fe2dbc9beb0ed82f8
push id1953
push userffxbld-merge
push dateMon, 11 Mar 2019 12:10:20 +0000
treeherdermozilla-release@9c35dcbaa899 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjrmuizel
bugs1520269
milestone66.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1520269 - Use the most recently skipped vsync id for catch up composites. r=jrmuizel Differential Revision: https://phabricator.services.mozilla.com/D17598
gfx/layers/wr/WebRenderBridgeParent.cpp
--- a/gfx/layers/wr/WebRenderBridgeParent.cpp
+++ b/gfx/layers/wr/WebRenderBridgeParent.cpp
@@ -1683,23 +1683,18 @@ void WebRenderBridgeParent::CompositeToT
   if (mPaused || !mReceivedDisplayList) {
     mPreviousFrameTimeStamp = TimeStamp();
     return;
   }
 
   if (mSkippedComposite ||
       wr::RenderThread::Get()->TooManyPendingFrames(mApi->GetId())) {
     // Render thread is busy, try next time.
-    if (!mSkippedComposite) {
-      // Only record the vsync id for the first skipped composite,
-      // since this matches what we do for compressing messages
-      // in CompositorVsyncScheduler::PostCompositeTask.
-      mSkippedComposite = true;
-      mSkippedCompositeId = aId;
-    }
+    mSkippedComposite = true;
+    mSkippedCompositeId = aId;
     mPreviousFrameTimeStamp = TimeStamp();
 
     // Record that we skipped presenting a frame for
     // all pending transactions that have finished scene building.
     for (auto& id : mPendingTransactionIds) {
       if (id.mSceneBuiltTime) {
         id.mSkippedComposites++;
       }