History log of /external/chromium_org/cc/resources/picture_pile_base.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
f6f1cfefca79cbef43cdc100e2288dd517f4aaea 19-Mar-2014 Ben Murdoch <benm@google.com> cc: Replace recorded region with direct map lookup

Resolve conflicts of https://codereview.chromium.org/196343005/
merging to release branch.

Did not resolve conflicts in tests we don't build:
cc/resources/tile_manager_perftest.cc
cc/resources/tile_manager_unittest.cc

Bug: 13302269

Original description:
cc: Replace recorded region with direct map lookup

If the viewport is extremely large, then keeping track of the recorded
region in PicturePile with an actual Region becomes extremely slow due
to a large number of rects being inserted into it.

The recorded region behaves as a cache to the picture map; it's a
simpler way to know the state of all of the recordings contained within.

In practice, the recorded region is only used for two things: a "should
this pile bother to create tilings" optimization and a "can a tile be
rastered in this content rect" check aka CanRaster.

The optimization for "should create tilings" is replaced by a
has_any_recordings_ boolean, which could have a false positive in theory
(resizing to a smaller but non-empty size), but which shouldn't happen
in practice. Even if it did, this would only be a performance penalty
for creating no-op tilings that can't create tiles (due to CanRaster).

The CanRaster check is replaced by a viewport hint, as most tiles that
the tiling creates will be inside of the very large expanded viewport
during recording, turning an expensive Region.Contains check to a
Rect.Contains one. In the edge cases where tiles are being created
outside of that expanded viewport, it will check the picture map
directly. This should only happen when the user has scrolled thousands
of pixels without a commit.

BUG=353346
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=256953

Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=257852

Change-Id: I8ed3bbaab8f8b7a72c10fd764d2c3f6331f70ded
/external/chromium_org/cc/resources/picture_pile_base.h
a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7 18-Dec-2013 Torne (Richard Coles) <torne@google.com> Merge from Chromium at DEPS revision 240154

This commit was generated by merge_to_master.py.

Change-Id: I8f2ba858cf0e7f413dddedc2ae91dc37f7136c2e
/external/chromium_org/cc/resources/picture_pile_base.h
f2477e01787aa58f445919b809d89e252beef54f 28-Nov-2013 Torne (Richard Coles) <torne@google.com> Merge from Chromium at DEPS revision 237746

This commit was generated by merge_to_master.py.

Change-Id: I8997af4cddfeb09a7c26f7e8e672c712cab461ea
/external/chromium_org/cc/resources/picture_pile_base.h
0f1bc08d4cfcc34181b0b5cbf065c40f687bf740 06-Nov-2013 Torne (Richard Coles) <torne@google.com> Merge from Chromium at DEPS revision 232870

This commit was generated by merge_to_master.py.

Change-Id: I9cd2139013538e8bcd17966e8ff30ca5651d1a3d
/external/chromium_org/cc/resources/picture_pile_base.h
1e9bf3e0803691d0a228da41fc608347b6db4340 31-Oct-2013 Torne (Richard Coles) <torne@google.com> Merge from Chromium at DEPS revision 232015

This commit was generated by merge_to_master.py.

Change-Id: If86767ad396b9e2e1a4c1e9df1427daea29703ef
/external/chromium_org/cc/resources/picture_pile_base.h
eb525c5499e34cc9c4b825d6d9e75bb07cc06ace 10-Jul-2013 Ben Murdoch <benm@google.com> Merge from Chromium at DEPS revision r210036

This commit was generated by merge_to_master.py.

Change-Id: Ib0e33a83ad5dfa541481e83d7acfc6970e68f471
/external/chromium_org/cc/resources/picture_pile_base.h
7d4cd473f85ac64c3747c96c277f9e506a0d2246 19-Jun-2013 Torne (Richard Coles) <torne@google.com> Merge from Chromium at DEPS revision r207203

This commit was generated by merge_to_master.py.

Change-Id: I5fbb6854d092096c4d39edc2865a48be1b53c418
/external/chromium_org/cc/resources/picture_pile_base.h
868fa2fe829687343ffae624259930155e16dbd8 11-Jun-2013 Torne (Richard Coles) <torne@google.com> Merge from Chromium at DEPS revision r205460

This commit was generated by merge_to_master.py.

Change-Id: I4a744a5e426bd3bb378d887cfa56fe054742a540
/external/chromium_org/cc/resources/picture_pile_base.h
90dce4d38c5ff5333bea97d859d4e484e27edf0c 29-May-2013 Torne (Richard Coles) <torne@google.com> Merge from Chromium at DEPS revision r202854

This commit was generated by merge_to_master.py.

Change-Id: Idca323f71ef844a9e04f454d4f070b1e398f2deb
/external/chromium_org/cc/resources/picture_pile_base.h
c2e0dbddbe15c98d52c4786dac06cb8952a8ae6d 09-May-2013 Torne (Richard Coles) <torne@google.com> Merge from Chromium at DEPS revision r198571

This commit was generated by merge_to_master.py.

Change-Id: I951118a03836157090561764dd2627f0add8118f
/external/chromium_org/cc/resources/picture_pile_base.h
2a99a7e74a7f215066514fe81d2bfa6639d9eddd 28-Mar-2013 Torne (Richard Coles) <torne@google.com> Merge from Chromium at DEPS revision r190564

This commit was generated by merge_to_master.py.

Change-Id: Icadecbce29854b8fa25fd335b2c1949b5ca5d170
/external/chromium_org/cc/resources/picture_pile_base.h