Retained tiles cause visible rendering glitches

RESOLVED FIXED in Firefox 14

Status

()

Firefox for Android
General
RESOLVED FIXED
6 years ago
6 years ago

People

(Reporter: cwiiis, Assigned: cwiiis)

Tracking

14 Branch
Firefox 15
ARM
Android
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox14 fixed, blocking-fennec1.0 beta+)

Details

(Whiteboard: [inbound][aurora])

Attachments

(2 attachments)

(Assignee)

Description

6 years ago
This is a downer;

Retained tiles aren't invalidated in some cases where they ought to be, causing visible rendering glitches. This is evident when a layer changes size and doesn't occupy the whole screen - This is made especially evident after applying the patches in bug 607417 and rotating back and forth on a page like http://bradfrostweb.com/demo/fixed/index.html.

This can easily be fixed by making sure that no tiles are retained for the current display-port - This may require a manual call in CompositorParent, but I'll try to see if the information is accessible or derivable without changes elsewhere.

Alternatively, if an interface is added to make layers aware of their size/position (as is suggested in bug 607417), this could also be used.

This should definitely be a release blocker.
Blocks: 744070
(Assignee)

Comment 1

6 years ago
Created attachment 619935 [details] [diff] [review]
Disable retained tiles

Attaching this, in case we can't resolve this fast enough and we want to go ahead without retained tiles.
(Assignee)

Updated

6 years ago
Blocks: 750211
blocking-fennec1.0: ? → beta+

Comment 2

6 years ago
Any clues yet as to why the invalidation is not happening?  Really don't want to turn this off for beta.
(Assignee)

Comment 3

6 years ago
(In reply to JP Rosevear [:jpr] from comment #2)
> Any clues yet as to why the invalidation is not happening?  Really don't
> want to turn this off for beta.

We have no mechanism for it to happen - I'm working on a patch that ought to fix it though.

We can't easily do invalidations on retained tiles at the moment as it'd involve too much context - What we can do is invalidate any retained tiles within the displayport - These are the only ones we really care about invalidating anyway.
(Assignee)

Comment 4

6 years ago
Further, I don't want to over-commit, but I hope to have a patch ready for review either by the end of today or tomorrow.
(Assignee)

Comment 5

6 years ago
Created attachment 620711 [details] [diff] [review]
Fix invalidation and drawing of reused tiles

This patch fixes the rendering glitches by deriving what ought to be the valid layer area in screen-space and making sure not to retain or draw tiles in this area.
Attachment #620711 - Flags: review?(ajuma)

Updated

6 years ago
Whiteboard: [has proposed patch]

Comment 6

6 years ago
Comment on attachment 620711 [details] [diff] [review]
Fix invalidation and drawing of reused tiles

Looks good to me.
Attachment #620711 - Flags: review?(ajuma) → review+

Updated

6 years ago
Whiteboard: [has proposed patch] → [has reviewed patch]
so, I accidentally pushed this to aurora, but we want it there and it ran green, so I'm leaving it there
https://hg.mozilla.org/releases/mozilla-aurora/rev/09cc74b7a248

once I realized the mistake, I also pushed it to inbound as I originally intended
https://hg.mozilla.org/integration/mozilla-inbound/rev/c2d87f9d6977
status-firefox14: --- → fixed
Whiteboard: [has reviewed patch] → [inbound]

Comment 8

6 years ago
Comment on attachment 620711 [details] [diff] [review]
Fix invalidation and drawing of reused tiles

Backfilling the aurora approval.  Please watch the landing there Brad/Chris.
Attachment #620711 - Flags: approval-mozilla-aurora+

Updated

6 years ago
Whiteboard: [inbound] → [inbound][aurora]

Comment 9

6 years ago
https://hg.mozilla.org/mozilla-central/rev/c2d87f9d6977
Status: ASSIGNED → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 15
Duplicate of this bug: 751508
You need to log in before you can comment on or make changes to this bug.