blast: fix 30 hz with desiredPresentTime
When a transaction is applied on the main thread, first the transaction
is applied and then handleTransaction is called. If we realize a
transaction requires a traversal when we are applying it, handleTransaction
will do a traversal. Since handleTransaction will preform the traversal,
there is no need to schedule a wake up for the next frame to preform
an unneeded traversal.
Bug: 128520233
Test: run chrome video and look at the systrace.
Change-Id: Idf9dda8ddfdf88b34abe5a3fe648ef693998b9a0
diff --git a/services/surfaceflinger/SurfaceFlinger.h b/services/surfaceflinger/SurfaceFlinger.h
index 141af73..3d8b6b7 100644
--- a/services/surfaceflinger/SurfaceFlinger.h
+++ b/services/surfaceflinger/SurfaceFlinger.h
@@ -963,6 +963,7 @@
bool mTransactionPending;
bool mAnimTransactionPending;
SortedVector< sp<Layer> > mLayersPendingRemoval;
+ bool mTraversalNeededMainThread;
// guards access to the mDrawing state if tracing is enabled.
mutable std::mutex mDrawingStateLock;