If you think a bug might affect users in the 57 release, please set the correct tracking and status flags for Release Management.

Progressive tile painting causes seams to appear in updated content (such as animated gifs)

RESOLVED FIXED in Firefox 18

Status

()

Firefox for Android
Graphics, Panning and Zooming
RESOLVED FIXED
5 years ago
5 years ago

People

(Reporter: cwiiis, Assigned: cwiiis)

Tracking

Trunk
Firefox 18
ARM
Android
Points:
---
Dependency tree / graph
Bug Flags:
in-testsuite -

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Assignee)

Description

5 years ago
When progressive tile painting is enabled, seams can appear in updated content (commonly in animated gifs).

BenWa and I discussed a few strategies:
- Size-based - If an update is <= the screen size, don't update it progressively
- Number of tiles - Pick a number of tiles to handle per transaction (similar to above)
- Time-based - Spend X ms per transaction updating tiles

Another strategy I just thought of:
- Only do progressive updates when scrolling

Updated

5 years ago
Depends on: 771219
(Assignee)

Comment 1

5 years ago
Created attachment 664991 [details] [diff] [review]
Only do progressive tile drawing when scrolling

This pretty much does what we want.

One caveat, if you scroll around with an animated gif or some such, you'll see seams again. I'm not sure how much this matters, as coupled with the movement, it's not obvious (also, animated gifs seem to pause when moving quite a lot - not sure if this is a feature or a side-effect).

If we forced non-progressive in this case, interactivity would suffer, which I think would be worse. Ideally, animated gifs would be optimised to image layers and the animation could be handled async like video. Will file a bug for this.
Attachment #664991 - Flags: review?(bgirard)
Comment on attachment 664991 [details] [diff] [review]
Only do progressive tile drawing when scrolling

Review of attachment 664991 [details] [diff] [review]:
-----------------------------------------------------------------

again with the small nit. Nice patch

::: gfx/layers/basic/BasicTiledThebesLayer.cpp
@@ +261,1 @@
>    // Force immediate tile painting when the layer has changed resolution.

// Only draw progressively when we're panning at the same resolution.
Attachment #664991 - Flags: review?(bgirard) → review+
(Assignee)

Comment 3

5 years ago
Comment changed + rebased, pushed to inbound:

https://hg.mozilla.org/integration/mozilla-inbound/rev/2786b171b97f
https://hg.mozilla.org/mozilla-central/rev/2786b171b97f
Status: ASSIGNED → RESOLVED
Last Resolved: 5 years ago
Flags: in-testsuite-
Resolution: --- → FIXED
Target Milestone: --- → Firefox 18
(Assignee)

Updated

5 years ago
Blocks: 795259
You need to log in before you can comment on or make changes to this bug.