• vmpstr@chromium.org's avatar
    cc: Optimize picture layer tiling raster tile iterator. · 9c428473
    vmpstr@chromium.org authored
    This patch ensures that we only create tiling data iterators when
    we visit the corresponding region.
    
    Relevant perf data from a macbook:
    
    Before:
    tiling_raster_tile_iterator_construct:
    0_0_100x100= 5828515 runs/s
    50_0_100x100= 5530272 runs/s
    100_0_100x100= 2730390 runs/s
    150_0_100x100= 3735413.25 runs/s
    
    tiling_raster_tile_iterator_construct_and_iterate:
    32_100x100= 576050 runs/s
    32_500x500= 601867.5625 runs/s
    64_100x100= 353348.21875 runs/s
    64_500x500= 362777.46875 runs/s
    
    After:
    tiling_raster_tile_iterator_construct:
    0_0_100x100= 7913765 runs/s (+36%)
    50_0_100x100= 7875735 runs/s (+42%)
    100_0_100x100= 3382876.5 runs/s (+23%)
    150_0_100x100= 5191805 runs/s (+39%)
    
    tiling_raster_tile_iterator_construct_and_iterate:
    32_100x100= 599836.6875 runs/s (+4%)
    32_500x500= 629638.75 runs/s (+5%)
    64_100x100= 357503.9375 runs/s (+<1%)
    64_500x500= 372805.71875 runs/s (+3%)
    
    R=reveman
    
    Review URL: https://codereview.chromium.org/411183002
    
    git-svn-id: svn://svn.chromium.org/chrome/trunk/src@285542 0039d316-1c4b-4281-b951-d872f2087c98
    9c428473
picture_layer_tiling.h 10.5 KB