diff options
author | John Firebaugh <john.firebaugh@gmail.com> | 2017-06-12 15:11:44 -0700 |
---|---|---|
committer | John Firebaugh <john.firebaugh@gmail.com> | 2017-06-15 07:43:51 -0700 |
commit | ae5b0391b62b537ba6813df54221283685edd6f2 (patch) | |
tree | 08211b4d3c4210ab32ff155344dea47e4709764e | |
parent | 2f83b32e95d17bed5c5557779d6b586bf6665e62 (diff) | |
download | qtlocation-mapboxgl-ae5b0391b62b537ba6813df54221283685edd6f2.tar.gz |
[core] Skip calculations when we already know we need rendering or layout
-rw-r--r-- | src/mbgl/renderer/render_style.cpp | 7 |
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; } |