History log of /external/chromium_org/cc/test/fake_picture_pile_impl.cc
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/test/fake_picture_pile_impl.cc
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/test/fake_picture_pile_impl.cc
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/test/fake_picture_pile_impl.cc
4e180b6a0b4720a9b8e9e959a882386f690f08ff 18-Oct-2013 Torne (Richard Coles) <torne@google.com> Merge from Chromium at DEPS revision 228962

This commit was generated by merge_to_master.py.

Change-Id: I23bd7d7766f213fd52f28ae5e1ecc6ae9df905ea
/external/chromium_org/cc/test/fake_picture_pile_impl.cc
bb1529ce867d8845a77ec7cdf3e3003ef1771a40 08-Aug-2013 Ben Murdoch <benm@google.com> Merge from Chromium at DEPS revision r216370

This commit was generated by merge_to_master.py.

Change-Id: I739228187a6f1df6c28c5761160e593a49891113
/external/chromium_org/cc/test/fake_picture_pile_impl.cc
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/test/fake_picture_pile_impl.cc
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/test/fake_picture_pile_impl.cc
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/test/fake_picture_pile_impl.cc