Skip to content

Commit 4128069

Browse files
Ben WidawskyAndroid (Google) Code Review
authored andcommitted
Merge "SF: Remove EventLog frame duration" into main
2 parents 90efc8a + 3113546 commit 4128069

8 files changed

Lines changed: 2 additions & 294 deletions

File tree

services/surfaceflinger/Android.bp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,6 @@ filegroup {
173173
"DisplayHardware/VirtualDisplaySurface.cpp",
174174
"DisplayRenderArea.cpp",
175175
"Effects/Daltonizer.cpp",
176-
"EventLog/EventLog.cpp",
177176
"FrontEnd/LayerCreationArgs.cpp",
178177
"FrontEnd/LayerHandle.cpp",
179178
"FrontEnd/LayerSnapshot.cpp",

services/surfaceflinger/EventLog/EventLog.cpp

Lines changed: 0 additions & 133 deletions
This file was deleted.

services/surfaceflinger/EventLog/EventLog.h

Lines changed: 0 additions & 73 deletions
This file was deleted.

services/surfaceflinger/EventLog/EventLogTags.logtags

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@
3535

3636
# 60100 - 60199 reserved for surfaceflinger
3737

38-
60100 sf_frame_dur (window|3),(dur0|1),(dur1|1),(dur2|1),(dur3|1),(dur4|1),(dur5|1),(dur6|1)
3938
60110 sf_stop_bootanim (time|2|3)
4039

4140
# NOTE - the range 1000000-2000000 is reserved for partners and others who

services/surfaceflinger/FrameTracker.cpp

Lines changed: 2 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -26,16 +26,10 @@
2626
#include <ui/FrameStats.h>
2727

2828
#include "FrameTracker.h"
29-
#include "EventLog/EventLog.h"
3029

3130
namespace android {
3231

33-
FrameTracker::FrameTracker() :
34-
mOffset(0),
35-
mNumFences(0),
36-
mDisplayPeriod(0) {
37-
resetFrameCountersLocked();
38-
}
32+
FrameTracker::FrameTracker() : mOffset(0), mNumFences(0), mDisplayPeriod(0) {}
3933

4034
void FrameTracker::setDesiredPresentTime(nsecs_t presentTime) {
4135
Mutex::Autolock lock(mMutex);
@@ -73,9 +67,6 @@ void FrameTracker::setDisplayRefreshPeriod(nsecs_t displayPeriod) {
7367
void FrameTracker::advanceFrame() {
7468
Mutex::Autolock lock(mMutex);
7569

76-
// Update the statistic to include the frame we just finished.
77-
updateStatsLocked(mOffset);
78-
7970
// Advance to the next frame.
8071
mOffset = (mOffset+1) % NUM_FRAME_RECORDS;
8172
mFrameRecords[mOffset].desiredPresentTime = INT64_MAX;
@@ -138,27 +129,19 @@ void FrameTracker::getStats(FrameStats* outStats) const {
138129
}
139130
}
140131

141-
void FrameTracker::logAndResetStats(const std::string_view& name) {
142-
Mutex::Autolock lock(mMutex);
143-
logStatsLocked(name);
144-
resetFrameCountersLocked();
145-
}
146-
147132
void FrameTracker::processFencesLocked() const {
148133
FrameRecord* records = const_cast<FrameRecord*>(mFrameRecords);
149134
int& numFences = const_cast<int&>(mNumFences);
150135

151136
for (int i = 1; i < NUM_FRAME_RECORDS && numFences > 0; i++) {
152-
size_t idx = (mOffset+NUM_FRAME_RECORDS-i) % NUM_FRAME_RECORDS;
153-
bool updated = false;
137+
size_t idx = (mOffset + NUM_FRAME_RECORDS - i) % NUM_FRAME_RECORDS;
154138

155139
const std::shared_ptr<FenceTime>& rfence = records[idx].frameReadyFence;
156140
if (rfence != nullptr) {
157141
records[idx].frameReadyTime = rfence->getSignalTime();
158142
if (records[idx].frameReadyTime < INT64_MAX) {
159143
records[idx].frameReadyFence = nullptr;
160144
numFences--;
161-
updated = true;
162145
}
163146
}
164147

@@ -169,58 +152,7 @@ void FrameTracker::processFencesLocked() const {
169152
if (records[idx].actualPresentTime < INT64_MAX) {
170153
records[idx].actualPresentFence = nullptr;
171154
numFences--;
172-
updated = true;
173-
}
174-
}
175-
176-
if (updated) {
177-
updateStatsLocked(idx);
178-
}
179-
}
180-
}
181-
182-
void FrameTracker::updateStatsLocked(size_t newFrameIdx) const {
183-
int* numFrames = const_cast<int*>(mNumFrames);
184-
185-
if (mDisplayPeriod > 0 && isFrameValidLocked(newFrameIdx)) {
186-
size_t prevFrameIdx = (newFrameIdx+NUM_FRAME_RECORDS-1) %
187-
NUM_FRAME_RECORDS;
188-
189-
if (isFrameValidLocked(prevFrameIdx)) {
190-
nsecs_t newPresentTime =
191-
mFrameRecords[newFrameIdx].actualPresentTime;
192-
nsecs_t prevPresentTime =
193-
mFrameRecords[prevFrameIdx].actualPresentTime;
194-
195-
nsecs_t duration = newPresentTime - prevPresentTime;
196-
int numPeriods = int((duration + mDisplayPeriod/2) /
197-
mDisplayPeriod);
198-
199-
for (int i = 0; i < NUM_FRAME_BUCKETS-1; i++) {
200-
int nextBucket = 1 << (i+1);
201-
if (numPeriods < nextBucket) {
202-
numFrames[i]++;
203-
return;
204-
}
205155
}
206-
207-
// The last duration bucket is a catch-all.
208-
numFrames[NUM_FRAME_BUCKETS-1]++;
209-
}
210-
}
211-
}
212-
213-
void FrameTracker::resetFrameCountersLocked() {
214-
for (int i = 0; i < NUM_FRAME_BUCKETS; i++) {
215-
mNumFrames[i] = 0;
216-
}
217-
}
218-
219-
void FrameTracker::logStatsLocked(const std::string_view& name) const {
220-
for (int i = 0; i < NUM_FRAME_BUCKETS; i++) {
221-
if (mNumFrames[i] > 0) {
222-
EventLog::logFrameDurations(name, mNumFrames, NUM_FRAME_BUCKETS);
223-
return;
224156
}
225157
}
226158
}

services/surfaceflinger/FrameTracker.h

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,6 @@ class FrameTracker {
4141
// frame time history.
4242
enum { NUM_FRAME_RECORDS = 128 };
4343

44-
enum { NUM_FRAME_BUCKETS = 7 };
45-
4644
FrameTracker();
4745

4846
// setDesiredPresentTime sets the time at which the current frame
@@ -142,13 +140,6 @@ class FrameTracker {
142140
// doesn't grow with NUM_FRAME_RECORDS.
143141
int mNumFences;
144142

145-
// mNumFrames keeps a count of the number of frames with a duration in a
146-
// particular range of vsync periods. Element n of the array stores the
147-
// number of frames with duration in the half-inclusive range
148-
// [2^n, 2^(n+1)). The last element of the array contains the count for
149-
// all frames with duration greater than 2^(NUM_FRAME_BUCKETS-1).
150-
int32_t mNumFrames[NUM_FRAME_BUCKETS];
151-
152143
// mDisplayPeriod is the display refresh period of the display for which
153144
// this FrameTracker is gathering information.
154145
nsecs_t mDisplayPeriod;

services/surfaceflinger/Layer.cpp

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,6 @@ Layer::~Layer() {
183183
mFlinger->mTimeStats->onDestroy(layerId);
184184
mFlinger->mFrameTracer->onDestroy(layerId);
185185

186-
mFrameTracker.logAndResetStats(mName);
187186
mFlinger->onLayerDestroyed(this);
188187

189188
if (mDrawingState.sidebandStream != nullptr) {
@@ -605,10 +604,6 @@ void Layer::clearFrameStats() {
605604
mFrameTracker.clearStats();
606605
}
607606

608-
void Layer::logFrameStats() {
609-
mFrameTracker.logAndResetStats(mName);
610-
}
611-
612607
void Layer::getFrameStats(FrameStats* outStats) const {
613608
mFrameTracker.getStats(outStats);
614609
}

services/surfaceflinger/SurfaceFlinger.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3284,8 +3284,6 @@ void SurfaceFlinger::onCompositionPresented(PhysicalDisplayId pacesetterId,
32843284
// getTotalSize returns the total number of buffers that were allocated by SurfaceFlinger
32853285
SFTRACE_INT64("Total Buffer Size", GraphicBufferAllocator::get().getTotalSize());
32863286
}
3287-
3288-
logFrameStats(presentTime);
32893287
}
32903288

32913289
void SurfaceFlinger::commitTransactions() {

0 commit comments

Comments
 (0)