diff options
author | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-05-15 17:30:22 +0300 |
---|---|---|
committer | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-05-16 17:08:36 +0300 |
commit | 64deb7aae9ae3f17a91679ee4ae7df50d7e116e6 (patch) | |
tree | a30b7eebf90c930dd6adb91e285f18aa37599335 | |
parent | ea53f6f0a56c2ebb0c663107f92d977ebf06c570 (diff) | |
download | qtlocation-mapboxgl-64deb7aae9ae3f17a91679ee4ae7df50d7e116e6.tar.gz |
[core] Avoid unneeded proj matrix calculations in renderer
-rw-r--r-- | src/mbgl/renderer/renderer_impl.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/mbgl/renderer/renderer_impl.cpp b/src/mbgl/renderer/renderer_impl.cpp index f987bb8666..85f97f78aa 100644 --- a/src/mbgl/renderer/renderer_impl.cpp +++ b/src/mbgl/renderer/renderer_impl.cpp @@ -312,12 +312,13 @@ void Renderer::Impl::render(const UpdateParameters& updateParameters) { bool symbolBucketsChanged = false; const bool placementChanged = !placement->stillRecent(updateParameters.timePoint); std::set<std::string> usedSymbolLayers; - + mat4 projMatrix; if (placementChanged) { placement = std::make_unique<Placement>( updateParameters.transformState, updateParameters.mode, updateParameters.transitionOptions, updateParameters.crossSourceCollisions, std::move(placement)); + updateParameters.transformState.getProjMatrix(projMatrix); } for (auto it = symbolLayers.rbegin(); it != symbolLayers.rend(); ++it) { @@ -326,8 +327,6 @@ void Renderer::Impl::render(const UpdateParameters& updateParameters) { if (placementChanged) { usedSymbolLayers.insert(symbolLayer.getID()); - mat4 projMatrix; - updateParameters.transformState.getProjMatrix(projMatrix); placement->placeLayer(*symbolLayer.getSymbolInterface(), projMatrix, updateParameters.debugOptions & MapDebugOptions::Collision); } } |