Changeset 211766 in webkit


Ignore:
Timestamp:
Feb 6, 2017 6:19:54 PM (7 years ago)
Author:
Simon Fraser
Message:

Re-land r210095 (avoid a tile revalidation on scale change)
https://bugs.webkit.org/show_bug.cgi?id=167866

Reviewed by Tim Horton.

r210095 was rolled out in r211230 but now that all TileControllers unparent
offscreen tiles, we can roll it back it.

Also add more Tiling logging.

  • platform/graphics/ca/TileGrid.cpp:

(WebCore::validationPolicyAsString):
(WebCore::TileGrid::setScale):
(WebCore::TileGrid::prepopulateRect):
(WebCore::TileGrid::revalidateTiles):
(WebCore::TileGrid::ensureTilesForRect):

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r211765 r211766  
     12017-02-06  Simon Fraser  <simon.fraser@apple.com>
     2
     3        Re-land r210095 (avoid a tile revalidation on scale change)
     4        https://bugs.webkit.org/show_bug.cgi?id=167866
     5
     6        Reviewed by Tim Horton.
     7       
     8        r210095 was rolled out in r211230 but now that all TileControllers unparent
     9        offscreen tiles, we can roll it back it.
     10       
     11        Also add more Tiling logging.
     12
     13        * platform/graphics/ca/TileGrid.cpp:
     14        (WebCore::validationPolicyAsString):
     15        (WebCore::TileGrid::setScale):
     16        (WebCore::TileGrid::prepopulateRect):
     17        (WebCore::TileGrid::revalidateTiles):
     18        (WebCore::TileGrid::ensureTilesForRect):
     19
    1202017-02-06  Myles C. Maxfield  <mmaxfield@apple.com>
    221
  • trunk/Source/WebCore/platform/graphics/ca/TileGrid.cpp

    r211688 r211766  
    4545namespace WebCore {
    4646
     47#if !LOG_DISABLED
     48static String validationPolicyAsString(TileGrid::TileValidationPolicy validationPolicy)
     49{
     50    StringBuilder builder;
     51    builder.appendLiteral("[");
     52    if (validationPolicy & TileGrid::PruneSecondaryTiles)
     53        builder.appendLiteral("prune secondary");
     54
     55    if (validationPolicy & TileGrid::UnparentAllTiles) {
     56        if (builder.isEmpty())
     57            builder.appendLiteral(", ");
     58        builder.appendLiteral("unparent all");
     59    }
     60    builder.appendLiteral("]");
     61
     62    return builder.toString();
     63}
     64#endif
     65
    4766TileGrid::TileGrid(TileController& controller)
    4867    : m_controller(controller)
     
    7998    m_containerLayer->setTransform(transform);
    8099
    81     // FIXME: we may revalidateTiles twice in this commit.
    82     revalidateTiles(PruneSecondaryTiles);
     100    m_controller.setNeedsRevalidateTiles();
    83101
    84102    m_containerLayer.get().setContentsScale(m_controller.deviceScaleFactor());
     
    216234bool TileGrid::prepopulateRect(const FloatRect& rect)
    217235{
     236    LOG_WITH_STREAM(Tiling, stream << "TileGrid " << this << " prepopulateRect: " << rect);
     237
    218238    IntRect enclosingCoverageRect = enclosingIntRect(rect);
    219239    if (m_primaryTileCoverageRect.contains(enclosingCoverageRect))
     
    332352    FloatRect coverageRect = m_controller.coverageRect();
    333353    IntRect bounds = m_controller.bounds();
     354
     355    LOG_WITH_STREAM(Tiling, stream << "TileGrid " << this << " revalidateTiles: bounds " << bounds << " coverageRect" << coverageRect << " validation: " << validationPolicyAsString(validationPolicy));
    334356
    335357    if (coverageRect.isEmpty() || bounds.isEmpty())
     
    535557        return IntRect();
    536558
     559    LOG_WITH_STREAM(Tiling, stream << "TileGrid " << this << " ensureTilesForRect: " << rect);
     560
    537561    FloatRect scaledRect(rect);
    538562    scaledRect.scale(m_scale);
Note: See TracChangeset for help on using the changeset viewer.