[core] Skip calculations when we already know we need rendering or layout

This commit is contained in:
John Firebaugh
2017-06-12 15:11:44 -07:00
parent 2f83b32e95
commit ae5b0391b6

View File

@@ -203,14 +203,15 @@ void RenderStyle::update(const UpdateParameters& parameters) {
continue;
}
if (getRenderLayer(layer->id)->needsRendering(zoomHistory.lastZoom)) {
if (!needsRendering && getRenderLayer(layer->id)->needsRendering(zoomHistory.lastZoom)) {
needsRendering = true;
}
if (hasLayoutDifference(layerDiff, layer->id) ||
if (!needsRelayout && (
hasLayoutDifference(layerDiff, layer->id) ||
!imageDiff.added.empty() ||
!imageDiff.removed.empty() ||
!imageDiff.changed.empty()) {
!imageDiff.changed.empty())) {
needsRelayout = true;
}