Recover from buffer stuffing for canned animations
Buffer stuffing occurs when SurfaceFlinger misses a frame, but the client continues to produce buffers at the same rate, causing a greater risk for jank to occur. Recovery is achieved for canned animations by adjusting the animation timeline on the client side so that SurfaceFlinger is no longer behind. Choreographer adds a negative offset to each frame when buffer stuffing is detected to effectively adjust the animation timeline after an intentional frame delay. Bug: b/294922229 Test: presubmit, manually check perfetto traces Flag: android.view.flags.buffer_stuffing_recovery Change-Id: Ic48208252c899a97cd72177fedaa2c2788028338
Loading
Please register or sign in to comment