SurfaceFlinger: Disable early release optimization
Starting a few weeks ago a crop of issues started showing up on a subset of devices, related to the early release optimization (which landed much earlier). Attempts to fix them unfortunately introduced another regression. The fact that the optimization is only triggering visible errors on a subset of devices is somewhat of a mystery. A CL is prepared which fixes all issues observed to date. Howeverthis mystery about device specific behavior implies the full implications of the optimization are not yet understood. It's better to disable the optimization for the current release and take time to fully understand what is happening. Removing the optimization may have some impact on jank, but I expect it's unlikely to be large. I only expect the optimization to reduce jank in cases where: 1. The app is backpressured 2. SurfaceFlinger is repeatedly missing frames producing long dequeues 3. The app has UI + RenderThread time >= vsync interval and is only able to achieve steady production with render ahead and pipelining. If SurfaceFlinger were to begin regular frame production again, early release could help the steady production pipeline recover faster by unblocking the app sooner. This represents a small amount of edge cases. Continued work on preventing SF from missing frames, makes this probably even a smaller amount than when the early release optimization first landed. Bug: 236120925 Bug: 234753489 Test: Existing tests pass. Verify that early release is disabled. Change-Id: I6a9a34331edb752d51c9d2d0b6826942d0545e3d (cherry picked from commit b645049d) Merged-In: I6a9a34331edb752d51c9d2d0b6826942d0545e3d
Loading
Please register or sign in to comment