[Webkit-unassigned] [Bug 106061] [wk2] Remove offscreen tiles from the layer tree
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Jan 4 10:22:11 PST 2013
https://bugs.webkit.org/show_bug.cgi?id=106061
Simon Fraser (smfr) <simon.fraser at apple.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #181297|review? |review-
Flag| |
--- Comment #3 from Simon Fraser (smfr) <simon.fraser at apple.com> 2013-01-04 10:24:09 PST ---
(From update of attachment 181297)
View in context: https://bugs.webkit.org/attachment.cgi?id=181297&action=review
> Source/WebCore/page/Settings.cpp:189
> + , m_aggressiveTileRetentionEnabled(false)
Why isn't m_unparentOffscreenTilesEnabled initialized?
> Source/WebCore/platform/graphics/TiledBacking.h:78
> + virtual void setAggressiveTileRetentionEnabled(bool) = 0;
> + virtual bool aggressiveTileRetentionEnabled() const = 0;
> +
> + virtual void setUnparentOffscreenTilesEnabled(bool) = 0;
> + virtual bool unparentOffscreenTilesEnabled() const = 0;
> +
These sound like setting plumbing. I think they would read better as
setAggressivelyRetainsTiles()
setUnparentsOffscreenTiles() etc.
> Source/WebCore/platform/graphics/ca/mac/TileCache.h:143
> + RemoveTilesFromLayerTree = 1 << 2
I see no downside to always unparenting non TCR tiles. Maybe we should just always do this?
> Source/WebCore/platform/graphics/ca/mac/TileCache.mm:320
> + if (m_isInWindow) {
> + scheduleTileRevalidation(0);
> + } else {
> const double tileRevalidationTimeout = 4;
> scheduleTileRevalidation(tileRevalidationTimeout);
> }
This would be better as:
scheduleTileRevalidation(m_isInWindow ? 0 : tileRevalidationTimeout);
> Source/WebCore/platform/graphics/ca/mac/TileCache.mm:452
> + if (!m_unparentOffscreenTilesEnabled || m_isInWindow)
> + revalidationPolicyFlags = CreatePrimaryTiles | PruneSecondaryTiles;
> + else
> + revalidationPolicyFlags = PruneSecondaryTiles | RemoveTilesFromLayerTree;
This gets simpler if we always remove tiles. CreatePrimaryTiles is only to avoid making primary tiles in background tabs, right?
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list