diff options
Diffstat (limited to 'src/mbgl/renderer')
-rw-r--r-- | src/mbgl/renderer/renderer_impl.cpp | 6 |
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, |