diff options
author | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2020-01-16 12:57:27 +0200 |
---|---|---|
committer | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2020-01-22 14:30:26 +0200 |
commit | 5a4568b2ac355f807b7ea8e7d99b812db8a01a15 (patch) | |
tree | 5630b58be979c494525fc987944c76813d5b6684 /src/mbgl/renderer/render_orchestrator.cpp | |
parent | f70cadf2e0ebc9b6a1d46117cd3714df9dcf23b6 (diff) | |
download | qtlocation-mapboxgl-5a4568b2ac355f807b7ea8e7d99b812db8a01a15.tar.gz |
[core] Avoid repeated calculations in symbol placement
Diffstat (limited to 'src/mbgl/renderer/render_orchestrator.cpp')
-rw-r--r-- | src/mbgl/renderer/render_orchestrator.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/mbgl/renderer/render_orchestrator.cpp b/src/mbgl/renderer/render_orchestrator.cpp index 5e5f2da3c3..48e7b09812 100644 --- a/src/mbgl/renderer/render_orchestrator.cpp +++ b/src/mbgl/renderer/render_orchestrator.cpp @@ -375,10 +375,11 @@ std::unique_ptr<RenderTree> RenderOrchestrator::createRenderTree( } // Symbol placement. bool symbolBucketsChanged = false; + auto longitude = updateParameters->transformState.getLatLng().longitude(); if (isMapModeContinuous) { bool symbolBucketsAdded = false; for (auto it = layersNeedPlacement.crbegin(); it != layersNeedPlacement.crend(); ++it) { - auto result = crossTileSymbolIndex.addLayer(*it, updateParameters->transformState.getLatLng().longitude()); + auto result = crossTileSymbolIndex.addLayer(*it, longitude); symbolBucketsAdded = symbolBucketsAdded || (result & CrossTileSymbolIndex::AddLayerResult::BucketsAdded); symbolBucketsChanged = symbolBucketsChanged || (result != CrossTileSymbolIndex::AddLayerResult::NoChanges); } @@ -421,7 +422,7 @@ std::unique_ptr<RenderTree> RenderOrchestrator::createRenderTree( Mutable<Placement> placement = makeMutable<Placement>(updateParameters); for (auto it = layersNeedPlacement.crbegin(); it != layersNeedPlacement.crend(); ++it) { const RenderLayer& layer = *it; - crossTileSymbolIndex.addLayer(layer, updateParameters->transformState.getLatLng().longitude()); + crossTileSymbolIndex.addLayer(layer, longitude); placement->placeLayer(layer, renderTreeParameters->transformParams.projMatrix); } placement->commit(); |