Revert "SurfaceFlinger: use queueTime as well when calculating refresh rate"
This reverts commit 49e65e422d6d464dfebd47d710bf0a8472834ade.
Reason for revert: Different fix was applied to b/155710271
Change-Id: Ic70812309b3acbd85ece80fce7e9769e19126d13
Bug: 155710271
diff --git a/services/surfaceflinger/Scheduler/LayerInfoV2.cpp b/services/surfaceflinger/Scheduler/LayerInfoV2.cpp
index ce57ea8..44b4264 100644
--- a/services/surfaceflinger/Scheduler/LayerInfoV2.cpp
+++ b/services/surfaceflinger/Scheduler/LayerInfoV2.cpp
@@ -130,16 +130,12 @@
// Now once we calculated the refresh rate we need to make sure that all the frames we captured
// are evenly distributed and we don't calculate the average across some burst of frames.
for (auto it = mFrameTimes.begin(); it != mFrameTimes.end() - 1; ++it) {
- const nsecs_t frameTimeDeltas = [&] {
- nsecs_t delta;
- if (it->presetTime == 0 || (it + 1)->presetTime == 0) {
- delta = (it + 1)->queueTime - it->queueTime;
- } else {
- delta = (it + 1)->presetTime - it->presetTime;
- }
- return std::max(delta, mHighRefreshRatePeriod);
- }();
- if (std::abs(frameTimeDeltas - averageFrameTime) > 2 * averageFrameTime) {
+ if (it->presetTime == 0 || (it + 1)->presetTime == 0) {
+ continue;
+ }
+ const nsecs_t presentTimeDeltas =
+ std::max(((it + 1)->presetTime - it->presetTime), mHighRefreshRatePeriod);
+ if (std::abs(presentTimeDeltas - averageFrameTime) > 2 * averageFrameTime) {
return std::nullopt;
}
}