[SurfaceFlinger] Adjust missed frame tracking
Before, missed frame tracking may be inaccurate if a frame takes longer than one vsync and either an invalidate message is not immediately scheduled afterwards, or the frame takes almost as long as two vsyncs but manages to be on time to be presented for that second vsync. Those scenarios can cause visual jank, but they are not tracked by missed frames which affects testing. * Rename the previous missedFrames to pendingFrames * pendingFrames is used to check for backpressure propagation so there is no change to device behavior * Compute a new missedFrames count by relaxing the check for pendingFrames - if the expected present time of the previous frame was earlier than the actual present time then that frame was missed. We add half a vsync of slop to correct for scheduling drift. Bug: 143647283 Test: boots Test: systrace Change-Id: I0f76d06737f5182c512ca6f36b332b68192250c3
Loading
Please register or sign in to comment