diff options
author | Bruno de Oliveira Abinader <bruno@mapbox.com> | 2017-09-01 22:32:45 +0300 |
---|---|---|
committer | Bruno de Oliveira Abinader <bruno@mapbox.com> | 2017-09-14 06:30:12 +0300 |
commit | 88a0187f214ad6fda7e2f24785826f0f430a885b (patch) | |
tree | 3b1c9df9c384a74b0c862fb35116f06e768caa23 /src | |
parent | a15f0f3d53665f011964cedf3ff9139a8593f94e (diff) | |
download | qtlocation-mapboxgl-88a0187f214ad6fda7e2f24785826f0f430a885b.tar.gz |
[core] Precompute if has image diffs when updating sources
Diffstat (limited to 'src')
-rw-r--r-- | src/mbgl/renderer/renderer_impl.cpp | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/mbgl/renderer/renderer_impl.cpp b/src/mbgl/renderer/renderer_impl.cpp index 21d56feea9..b8b87d0343 100644 --- a/src/mbgl/renderer/renderer_impl.cpp +++ b/src/mbgl/renderer/renderer_impl.cpp @@ -186,6 +186,8 @@ void Renderer::Impl::render(const UpdateParameters& updateParameters) { renderSources.emplace(entry.first, std::move(renderSource)); } + const bool hasImageDiff = !(imageDiff.added.empty() && imageDiff.removed.empty() && imageDiff.changed.empty()); + // Update all sources. for (const auto& source : *sourceImpls) { std::vector<Immutable<Layer::Impl>> filteredLayers; @@ -203,11 +205,7 @@ void Renderer::Impl::render(const UpdateParameters& updateParameters) { needsRendering = true; } - if (!needsRelayout && ( - hasLayoutDifference(layerDiff, layer->id) || - !imageDiff.added.empty() || - !imageDiff.removed.empty() || - !imageDiff.changed.empty())) { + if (!needsRelayout && (hasImageDiff || hasLayoutDifference(layerDiff, layer->id))) { needsRelayout = true; } |