Closed Bug 703821 Opened 14 years ago Closed 14 years ago

Consecutive draw events shouldn't be squashed together if the compositor is in use

Categories

(Firefox for Android Graveyard :: General, defect)

ARM
Android
defect
Not set
critical

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: pcwalton, Assigned: pcwalton)

Details

Attachments

(1 file)

There's logic in widget/src/android that squashes together draw events by throwing out all but the first one in order to optimize redraws. But that's only correct if every draw event covers the entire screen. This was the case in XUL Fennec (in software mode anyway), but the Java compositor is smarter than that -- its draw events only update dirty rects. Unfortunately, the optimization mentioned previously causes many of its draw events to get dropped. This patch turns off the draw squashing if the compositor is in use. In my testing it fixes many of the repaint bugs.
Attached patch Proposed patch.Splinter Review
Proposed patch attached.
Attachment #575618 - Flags: review?(doug.turner)
Attachment #575618 - Flags: review?(doug.turner) → review+
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
FYI: This patch caused a ~50ms regression in Txul and a ~400ms regression in Tdhtml. I assume this is because we are painting more than before.
(In reply to Doug Turner (:dougt) from comment #2) > https://hg.mozilla.org/mozilla-central/rev/ea5e1f4e996a This seems to have caused a significant input slowdown - see bug 705166.
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: