Closed
Bug 1255448
Opened 8 years ago
Closed 8 years ago
ClientMultiTiledLayerBuffer does not free tiles as it is scrolled out of display port
Categories
(Core :: Graphics: Layers, defect)
Core
Graphics: Layers
Tracking
()
RESOLVED
FIXED
mozilla48
Tracking | Status | |
---|---|---|
firefox48 | --- | fixed |
People
(Reporter: jnicol, Assigned: jnicol)
Details
Attachments
(1 file)
We only call ClientMultiTiledLayerBuffer::PaintThebes() if we have a non-empty region to paint. This means that ClientMultiTiledLayerBuffer::Update--where we calculate which tiles are valid, then allocate or free tiles as required--does not get called unless we paint something. As a layer gets scrolled out of the displayport ideally we would free its tiles which are not in use. However, typically no new painting will be required as it is scrolled, so we end up keeping the tiles around forever (or until it scrolls back in to the display port.) Requiring PaintThebes to be called even when the region is empty perhaps seems a bit odd, but is I believe the simplest solution to this.
Assignee | ||
Comment 1•8 years ago
|
||
Remove early return for empty invalid regions from ClientTiledPaintedLayer::RenderHighPrecision so that ClientMultiTiledLayerBuffer::PaintThebes is called even when the region to paint is empty. This ensures that the tile buffer will free unused tiles in cases where no new painting is required but the valid region has shrunk. Add replacement early returns into ClientMultiTiledLayerBuffer to avoid as much needless work as possible while still recalculating which tiles are valid. Review commit: https://reviewboard.mozilla.org/r/39295/diff/#index_header See other reviews: https://reviewboard.mozilla.org/r/39295/
Attachment #8729209 -
Flags: review?(matt.woodrow)
Comment 2•8 years ago
|
||
Comment on attachment 8729209 [details] MozReview Request: Bug 1255448 - Call ClientMultiTiledLayerBuffer::PaintThebes even when region to paint is empty. r?mattwoodrow https://reviewboard.mozilla.org/r/39295/#review36005
Attachment #8729209 -
Flags: review?(matt.woodrow) → review+
Assignee | ||
Comment 3•8 years ago
|
||
only affects OS X and android. try run: https://treeherder.mozilla.org/#/jobs?repo=try&revision=b753a4519027 for some reason that got stuck with some of the android jobs still pending, so this too: https://treeherder.mozilla.org/#/jobs?repo=try&revision=3ff8af97ff1f requesting checkin please.
Comment 6•8 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/ca9afdab1431
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla48
You need to log in
before you can comment on or make changes to this bug.
Description
•