diff options
| -rw-r--r-- | services/surfaceflinger/Android.bp | 1 | ||||
| -rw-r--r-- | services/surfaceflinger/SurfaceFlinger.cpp | 44 | ||||
| -rw-r--r-- | services/surfaceflinger/SurfaceFlinger.h | 7 |
3 files changed, 0 insertions, 52 deletions
diff --git a/services/surfaceflinger/Android.bp b/services/surfaceflinger/Android.bp index b976eb535b..98853523f3 100644 --- a/services/surfaceflinger/Android.bp +++ b/services/surfaceflinger/Android.bp @@ -60,7 +60,6 @@ cc_defaults { "libnativewindow", "libprocessgroup", "libprotobuf-cpp-lite", - "libstatslog", "libsync", "libtimestats", "libui", diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp index 825834bb4f..9a12dfbe23 100644 --- a/services/surfaceflinger/SurfaceFlinger.cpp +++ b/services/surfaceflinger/SurfaceFlinger.cpp @@ -1814,10 +1814,6 @@ void SurfaceFlinger::onMessageInvalidate(int64_t vsyncId, nsecs_t expectedVSyncT if (frameMissed) { mFrameMissedCount++; mTimeStats->incrementMissedFrames(); - if (mMissedFrameJankCount == 0) { - mMissedFrameJankStart = systemTime(); - } - mMissedFrameJankCount++; } if (hwcFrameMissed) { @@ -1849,37 +1845,6 @@ void SurfaceFlinger::onMessageInvalidate(int64_t vsyncId, nsecs_t expectedVSyncT } } - // Our jank window is always at least 100ms since we missed a - // frame... - static constexpr nsecs_t kMinJankyDuration = - std::chrono::duration_cast<std::chrono::nanoseconds>(100ms).count(); - // ...but if it's larger than 1s then we missed the trace cutoff. - static constexpr nsecs_t kMaxJankyDuration = - std::chrono::duration_cast<std::chrono::nanoseconds>(1s).count(); - nsecs_t jankDurationToUpload = -1; - // If we're in a user build then don't push any atoms - if (!mIsUserBuild && mMissedFrameJankCount > 0) { - const auto display = ON_MAIN_THREAD(getDefaultDisplayDeviceLocked()); - // Only report jank when the display is on, as displays in DOZE - // power mode may operate at a different frame rate than is - // reported in their config, which causes noticeable (but less - // severe) jank. - if (display && display->getPowerMode() == hal::PowerMode::ON) { - const nsecs_t currentTime = systemTime(); - const nsecs_t jankDuration = currentTime - mMissedFrameJankStart; - if (jankDuration > kMinJankyDuration && jankDuration < kMaxJankyDuration) { - jankDurationToUpload = jankDuration; - } - - // We either reported a jank event or we missed the trace - // window, so clear counters here. - if (jankDuration > kMinJankyDuration) { - mMissedFrameJankCount = 0; - mMissedFrameJankStart = 0; - } - } - } - if (mTracingEnabledChanged) { mTracingEnabled = mTracing.isEnabled(); mTracingEnabledChanged = false; @@ -1926,7 +1891,6 @@ void SurfaceFlinger::onMessageInvalidate(int64_t vsyncId, nsecs_t expectedVSyncT refreshNeeded |= mRepaintEverything; if (refreshNeeded && CC_LIKELY(mBootStage != BootStage::BOOTLOADER)) { - mLastJankDuration = jankDurationToUpload; // Signal a refresh if a transaction modified the window state, // a new buffer was latched, or if HWC has requested a full // repaint @@ -2302,14 +2266,6 @@ void SurfaceFlinger::postComposition() { const size_t appConnections = mScheduler->getEventThreadConnectionCount(mAppConnectionHandle); mTimeStats->recordDisplayEventConnectionCount(sfConnections + appConnections); - if (mLastJankDuration > 0) { - ATRACE_NAME("Jank detected"); - const int32_t jankyDurationMillis = mLastJankDuration / (1000 * 1000); - android::util::stats_write(android::util::DISPLAY_JANK_REPORTED, jankyDurationMillis, - mMissedFrameJankCount); - mLastJankDuration = -1; - } - if (isDisplayConnected && !display->isPoweredOn()) { return; } diff --git a/services/surfaceflinger/SurfaceFlinger.h b/services/surfaceflinger/SurfaceFlinger.h index c7601fae5a..b3da61e810 100644 --- a/services/surfaceflinger/SurfaceFlinger.h +++ b/services/surfaceflinger/SurfaceFlinger.h @@ -1387,13 +1387,6 @@ private: // be any issues with a raw pointer referencing an invalid object. std::unordered_set<Layer*> mOffscreenLayers; - // Fields tracking the current jank event: when it started and how many - // janky frames there are. - nsecs_t mMissedFrameJankStart = 0; - int32_t mMissedFrameJankCount = 0; - // Positive if jank should be uploaded in postComposition - nsecs_t mLastJankDuration = -1; - int mFrameRateFlexibilityTokenCount = 0; sp<IBinder> mDebugFrameRateFlexibilityToken; |