Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Bug 1668878 - Stop doing catch-up composites on webrender. r=mattwoodrow
Currently, when webrender fails to render a frame on time, it will attempt to catch up by rendering the next frame immediately (part way through the vsync period) rather than delaying until the next vsync. The idea is that even though the first frame missed vsync, the next frame can hopefully still be rendered on time. However, on Android, because of the default EGL swap interval of zero, the driver blocks rather than allowing 2 frames to be rendered in a single vsync. This guarantees that the next frame will also miss its vsync, and so on. Other platforms may avoid this by setting the swap interval to zero. While that was an option on Android too, it was felt that the premise of catch up composites was still flawed: a late-started composite is unlikely to meet its deadline, even if the driver does not block. Better to cut our losses and wait for the next vsync. Differential Revision: https://phabricator.services.mozilla.com/D92958
- Loading branch information