Closed Bug 1714567 Opened 3 years ago Closed 3 years ago

very laggy input with certain pages loaded, but not on screen

Categories

(Core :: Graphics, defect)

x86_64
Linux
defect

Tracking

()

RESOLVED DUPLICATE of bug 1635186

People

(Reporter: bhearsum, Unassigned)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

When I open a non-logged in github.com tab (which at the time of writing is using a <canvas> animation), and I put that window offscreen (ie: a different virtual desktop), I end up with very bad input delay in other windows - more than 1 second - rendering Firefox unusable.

Profile is here: https://profiler.firefox.com/public/3cbppv9mp4rwd8f25d61v09mnagfd4m9tckex5g/calltree/?globalTrackOrder=13-14-0-1-2-3-4-5-6-7-8-9-10-11-12&hiddenGlobalTracks=1-2-3-4-5-6-7-8-9-10-11-12&localTrackOrderByPid=1701814-2-0-1~1701924-0~1702083-0~1702164-0~1701961-0~1701859-0~1702688-0~1701991-0~1702372-0~1701964-0~1701972-0~1701967-0~1702827-0~&thread=0&timelineType=cpu-category&v=5

I'm using an X1 Carbon and Wayland (sway).

Ben, is this a regression? Are you able to find a regression range?

Flags: needinfo?(bhearsum)

(In reply to Marco Castelluccio [:marco] from comment #1)

Ben, is this a regression? Are you able to find a regression range?

I don't know, it's just something I noticed while verifying that https://bugzilla.mozilla.org/show_bug.cgi?id=1705478 wasn't an issue anymore. I'll some older versions a bit later if I have time.

(In reply to bhearsum@mozilla.com (:bhearsum) from comment #2)

(In reply to Marco Castelluccio [:marco] from comment #1)

Ben, is this a regression? Are you able to find a regression range?

I don't know, it's just something I noticed while verifying that https://bugzilla.mozilla.org/show_bug.cgi?id=1705478 wasn't an issue anymore. I'll some older versions a bit later if I have time.

I went as far back as April 1, 2021, and could still repro. I'll try to bisect more next week.

Flags: needinfo?(bhearsum)

The parent process and compositor threads are both waiting on something like pcond_wait while the renderer thread is waiting on a libc_poll called from mozilla::gl::GLContextGLX::GetBufferAge all for about 2 seconds. It seems like a graphics issue so let's see if the graphics team has any insight.

Component: Performance → Graphics

Could you attach your about:support please?

You could also try setting gfx.webrender.allow-partial-present-buffer-age to false. That will prevent the call to GetBufferAge(), although my hunch is that a subsequent call in the driver will probably stall instead. (If that does indeed happen, another profile would be great!)

You could also try running Firefox with the environment variable MOZ_X11_EGL=1 set.

Blocks: wr-linux
Severity: -- → S3
Flags: needinfo?(bhearsum)

This is most likely a dup of bug 1635186 - workarounds are turning off hardware acceleration (should be off by default, have you enabled it?) or using the native Wayland backend (MOZ_ENABLE_WAYLAND=1)

Attached file about:support
(In reply to Jamie Nicol [:jnicol] from comment #5)
> Could you attach your about:support please?
> 
> You could also try setting `gfx.webrender.allow-partial-present-buffer-age` to false. That will prevent the call to `GetBufferAge()`, although my hunch is that a subsequent call in the driver will probably stall instead. (If that does indeed happen, another profile would be great!)
> 
> You could also try running Firefox with the environment variable `MOZ_X11_EGL=1` set.
Attachment #9226334 - Attachment description: Mga paunang Katangia → about:support
Flags: needinfo?(bhearsum)

(In reply to Jamie Nicol [:jnicol] from comment #5)

Could you attach your about:support please?

You could also try setting gfx.webrender.allow-partial-present-buffer-age to false. That will prevent the call to GetBufferAge(), although my hunch is that a subsequent call in the driver will probably stall instead. (If that does indeed happen, another profile would be great!)

This pref didn't make a difference.

You could also try running Firefox with the environment variable MOZ_X11_EGL=1 set.

This seems to have fixed it!

(In reply to Robert Mader [:rmader] from comment #6)

This is most likely a dup of bug 1635186 - workarounds are turning off hardware acceleration (should be off by default, have you enabled it?) or using the native Wayland backend (MOZ_ENABLE_WAYLAND=1)

The hardware acceleration settings don't appear to make any difference.

MOZ_ENABLE_WAYLAND=1 appears to fix the issue though.

Thanks!

Robert, given than X11 EGL or WAYLAND both fix this, do we have any action to take here?

Are you confident this is a dup? Is there an explanation for the hardware acceleration settings?

Flags: needinfo?(robert.mader)

(In reply to Jamie Nicol [:jnicol] from comment #9)

Thanks!

Robert, given than X11 EGL or WAYLAND both fix this, do we have any action to take here?

Are you confident this is a dup? Is there an explanation for the hardware acceleration settings?

Yep, I'm confident - the explanation is that it's nightly or early beta. Maybe we should also disable HW-WR in nightly on Xwayland, so people actually test what we'll ship later on.

Flags: needinfo?(robert.mader)

Makes sense. Thanks

Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: