Open Bug 1768021 Opened 3 years ago Updated 3 years ago

Both the VsyncIOThread and the WindowsVsyncThread threads wake up for every tick

Categories

(Core :: Graphics, defect, P3)

defect

Tracking

()

People

(Reporter: florian, Unassigned)

References

(Depends on 1 open bug, Blocks 1 open bug)

Details

Example profile: https://share.firefox.dev/3KOgENF

Bug 1726594 added a comment explaining why we have this situation:

  /* "VsyncIOThread" is used as the thread we send/recv IPC messages on.  We
   * don't use the "WindowsVsyncThread" directly because it isn't servicing an
   * nsThread event loop which is needed for IPC to return results/notify us
   * about shutdown etc.
   *
   * It would be better if we could notify the IPC IO thread directly to avoid
   * the extra ping-ponging but that doesn't seem possible. */

I'm not sure what the solution would be to avoid this situation, but it would be good to find something, as according to telemetry data the VsyncIOThread alone accounts for more than 1% of all Firefox thread wake ups.

Could we have a way to send an IPC and have errors be dispatched to another thread? Or could we make WindowsVsyncThread an nsThread?

Summary: Both the VsyncIOThread and the WindowsVsyncThread wake up for every tick → Both the VsyncIOThread and the WindowsVsyncThread threads wake up for every tick
Flags: needinfo?(jmuizelaar)
Severity: -- → S3
Priority: -- → P3

Our current feeling is that this is best fixed by moving the vsync listening into the gpu process.

Depends on: 1769144
Flags: needinfo?(jmuizelaar)
You need to log in before you can comment on or make changes to this bug.