Invalidation is screwed up with Linux/OMTC

RESOLVED FIXED in mozilla27

Status

()

Core
Graphics: Layers
RESOLVED FIXED
4 years ago
4 years ago

People

(Reporter: billm, Assigned: dvander)

Tracking

unspecified
mozilla27
x86_64
Linux
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

I'm running a desktop Linux Firefox build with acceleration layers and OMTC on an nvidia card. I've always had problems where Firefox would not always update quickly enough when the window manager told it to. For example, if I switch to a workspace with Firefox in it, but FF is in the background, the FF window won't be drawn for maybe 1-2 seconds. This isn't just jank, since it happens always.

Lately, though, the problem has gotten a lot worse. Sometimes Firefox won't draw at all if it's not the foreground window. A more annoying issue is that the area damaged by a tooltip that has disappeared won't be redrawn unless I scroll.

Here's a simple STR:

1. Open a splinter review.
2. Mouse over the diff until the "Double click the line to add a review comment" tooltip appears.
3. Now move the mouse, which is supposed to make the tooltip disappear. It won't disappear though, since the area under it isn't redrawn.
4. You can keep doing this until you have 3 or 4 tooltips visible at once.

Scrolling solves the problem.

Overall, OMTC on Linux has gotten a lot better for me over the last few months. This issue is pretty annoying though.
(Assignee)

Comment 1

4 years ago
I can reproduce this among other problems. Tackling the foreground issue first. It looks like when GTK sends an expose event, we ask the compositor to flush rendering, but we don't actually tell it to draw anything, so nothing happens. Matt explained that this is because compositing has to be synchronous there, but since expose events also come from resizes, we don't want to do two synchronous composites in a row.
Assignee: nobody → dvander
Status: NEW → ASSIGNED
(Assignee)

Comment 2

4 years ago
Created attachment 806370 [details] [diff] [review]
refresh.patch

Same thing that Windows does. This could hurt resize performance with the basic compositor, so we'll have to see what happens there.
Attachment #806370 - Flags: review?(matt.woodrow)
Attachment #806370 - Flags: review?(matt.woodrow) → review+

Comment 4

4 years ago
https://hg.mozilla.org/mozilla-central/rev/4ab3f6f9c004
Status: ASSIGNED → RESOLVED
Last Resolved: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla27
(Assignee)

Updated

4 years ago
Depends on: 926618
You need to log in before you can comment on or make changes to this bug.