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-19 18:15:33 +0300 |
commit | febe696d4b790a3623b276e2e520acfd2a15d8f8 (patch) | |
tree | 1fc600213edfd0ff058ecff4b7eae43a4d5e0668 /src | |
parent | 0e45138547e906a0a3d918e9ace262e53d35fb46 (diff) | |
download | qtlocation-mapboxgl-febe696d4b790a3623b276e2e520acfd2a15d8f8.tar.gz |
[core] Avoid unneeded proj matrix calculations in renderer
Diffstat (limited to 'src')
-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); } } |