Closed Bug 1708325 Opened 5 months ago Closed 5 months ago

Run a repeat 'extra' paint in the middle of vsync intervals for user input

Categories

(Core :: Web Painting, task, P3)

task

Tracking

()

RESOLVED FIXED
90 Branch
Tracking Status
firefox90 --- fixed

People

(Reporter: mattwoodrow, Assigned: mattwoodrow)

References

(Blocks 1 open bug, Regressed 1 open bug)

Details

Attachments

(2 files)

Bug 1675614 added a way for us to start a paint late during vsync if we hadn't already painted that interval.

We can also do an extra paint (with the hope of replacing the existing one on the compositor side) to reduce input latency when there are other changes happening (especially animations).

The current plan is to restrict this to changes triggered directly from user input, and to only allow one extra paint per vsync. We're going to use the same vsync timestamp for rAF so that script driven animations aren't adjusted by this extra paint.

This makes it easier to understand and will make it easier to not include 'extra' frames (as we're hoping they will coalesce with the original frame on the compositor).

Severity: -- → S3
Priority: -- → P3
Pushed by mwoodrow@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/edf1ac18cc8c
Change frame throttling code in nsRefreshDriver to explicitly track the pending frames. r=mstange
https://hg.mozilla.org/integration/autoland/rev/3fe338644983
Allow doing an extra refresh driver tick for user input events. r=mstange,bas
Pushed by mwoodrow@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/c26142ed63a9
Change frame throttling code in nsRefreshDriver to explicitly track the pending frames. r=mstange
https://hg.mozilla.org/integration/autoland/rev/ed8ff73df9a2
Allow doing an extra refresh driver tick for user input events. r=mstange,bas
Flags: needinfo?(matt.woodrow)
Regressions: 1693900
Status: NEW → RESOLVED
Closed: 5 months ago
Resolution: --- → FIXED
Target Milestone: --- → 90 Branch
Regressions: 1678102
See Also: → 1713170
Depends on: 1675614
See Also: 1713170
Blocks: 1717162
Regressions: 1727703
You need to log in before you can comment on or make changes to this bug.