Closed Bug 750535 Opened 12 years ago Closed 12 years ago

Retained tiles cause visible rendering glitches

Categories

(Firefox for Android Graveyard :: General, defect)

14 Branch
ARM
Android
defect
Not set
normal

Tracking

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

RESOLVED FIXED
Firefox 15
Tracking Status
firefox14 --- fixed
blocking-fennec1.0 --- beta+

People

(Reporter: cwiiis, Assigned: cwiiis)

References

Details

(Whiteboard: [inbound][aurora])

Attachments

(2 files)

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.
Attaching this, in case we can't resolve this fast enough and we want to go ahead without retained tiles.
Blocks: 750211
blocking-fennec1.0: ? → beta+
Any clues yet as to why the invalidation is not happening?  Really don't want to turn this off for beta.
(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.
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.
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)
Whiteboard: [has proposed patch]
Comment on attachment 620711 [details] [diff] [review]
Fix invalidation and drawing of reused tiles

Looks good to me.
Attachment #620711 - Flags: review?(ajuma) → review+
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
Whiteboard: [has reviewed patch] → [inbound]
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+
Whiteboard: [inbound] → [inbound][aurora]
https://hg.mozilla.org/mozilla-central/rev/c2d87f9d6977
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 15
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: