summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Firebaugh <john.firebaugh@gmail.com>2017-06-12 15:11:44 -0700
committerJohn Firebaugh <john.firebaugh@gmail.com>2017-06-15 07:43:51 -0700
commitae5b0391b62b537ba6813df54221283685edd6f2 (patch)
tree08211b4d3c4210ab32ff155344dea47e4709764e
parent2f83b32e95d17bed5c5557779d6b586bf6665e62 (diff)
downloadqtlocation-mapboxgl-ae5b0391b62b537ba6813df54221283685edd6f2.tar.gz
[core] Skip calculations when we already know we need rendering or layout
-rw-r--r--src/mbgl/renderer/render_style.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/mbgl/renderer/render_style.cpp b/src/mbgl/renderer/render_style.cpp
index 9b0b512bf9..c8918fc2ee 100644
--- a/src/mbgl/renderer/render_style.cpp
+++ b/src/mbgl/renderer/render_style.cpp
@@ -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;
}