summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>2019-04-12 14:56:09 +0300
committerMikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>2019-04-12 16:17:57 +0300
commit4bc79cf4ffead684156f391c698f8f7cb3f76837 (patch)
treea32d7d27cfb6c0927f67fe3a50fc2b58db334744
parentfeaff9260e0cd27923d96533ca3ae71800b33eab (diff)
downloadqtlocation-mapboxgl-4bc79cf4ffead684156f391c698f8f7cb3f76837.tar.gz
Use emplace_hint for inserting render items
-rw-r--r--src/mbgl/renderer/renderer_impl.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/mbgl/renderer/renderer_impl.cpp b/src/mbgl/renderer/renderer_impl.cpp
index c634e900a8..5078e01edb 100644
--- a/src/mbgl/renderer/renderer_impl.cpp
+++ b/src/mbgl/renderer/renderer_impl.cpp
@@ -236,10 +236,10 @@ void Renderer::Impl::render(const UpdateParameters& updateParameters) {
std::set<RenderItem> renderItems;
std::vector<const RenderLayerSymbolInterface*> renderItemsWithSymbols;
+ auto renderItemsEmplaceHint = renderItems.begin();
// Update all sources and initialize renderItems.
staticData->has3D = false;
-
for (const auto& sourceImpl : *sourceImpls) {
RenderSource* source = renderSources.at(sourceImpl->id).get();
std::vector<Immutable<Layer::Impl>> filteredLayersForSource;
@@ -263,7 +263,7 @@ void Renderer::Impl::render(const UpdateParameters& updateParameters) {
if (layerNeedsRendering) {
sourceNeedsRendering = true;
filteredLayersForSource.push_back(layerImpl);
- renderItems.emplace(*layer, source, index);
+ renderItemsEmplaceHint = renderItems.emplace_hint(renderItemsEmplaceHint, *layer, source, index);
}
}
continue;
@@ -278,7 +278,7 @@ void Renderer::Impl::render(const UpdateParameters& updateParameters) {
continue; // This layer is shown with background color, and it shall not be added to render items.
}
}
- renderItems.emplace(*layer, nullptr, index);
+ renderItemsEmplaceHint = renderItems.emplace_hint(renderItemsEmplaceHint, *layer, nullptr, index);
}
}
source->update(sourceImpl,