SF: do not wait for LastCompositeEventThread if it is not used
Bug: 333248925
Bug: 162235855
Test: SysUI Jank Regression: perfetto_cuj_systemui-SPLASHSCREEN_EXIT_ANIM-timeline_metrics-missed_sf_frames-mean
Change-Id: I0aa85f676c9fe789cbe31d88a529a9ec7aa72341
diff --git a/services/surfaceflinger/Scheduler/Scheduler.h b/services/surfaceflinger/Scheduler/Scheduler.h
index ccb3aa7..ccaa05f 100644
--- a/services/surfaceflinger/Scheduler/Scheduler.h
+++ b/services/surfaceflinger/Scheduler/Scheduler.h
@@ -346,7 +346,9 @@
// Used to skip event dispatch before EventThread creation during boot.
// TODO: b/241285191 - Reorder Scheduler initialization to avoid this.
bool hasEventThreads() const {
- return CC_LIKELY(mRenderEventThread && mLastCompositeEventThread);
+ return CC_LIKELY(
+ mRenderEventThread &&
+ (FlagManager::getInstance().deprecate_vsync_sf() || mLastCompositeEventThread));
}
EventThread& eventThreadFor(Cycle cycle) const {