summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer/tile_pyramid.cpp
diff options
context:
space:
mode:
authorMikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>2019-07-24 22:02:02 +0300
committerMikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>2019-07-25 12:58:27 +0300
commit0051fcdbb85b2a02751c62d1c76ee1518a967bcb (patch)
treebf8866f359d776097e8a65f6cc2ce60f6a8da244 /src/mbgl/renderer/tile_pyramid.cpp
parent2e5897c0f49120c72b7431b3af7d41bef3414719 (diff)
downloadqtlocation-mapboxgl-0051fcdbb85b2a02751c62d1c76ee1518a967bcb.tar.gz
[core] Optimize Query Rendered Features API
This PR filters out invisible layers before quering features (rather than after, like it happened before). With this change `API_queryRenderedFeaturesAll` performance test passes almost two times faster.
Diffstat (limited to 'src/mbgl/renderer/tile_pyramid.cpp')
-rw-r--r--src/mbgl/renderer/tile_pyramid.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/mbgl/renderer/tile_pyramid.cpp b/src/mbgl/renderer/tile_pyramid.cpp
index f47198e275..54e0b1eb26 100644
--- a/src/mbgl/renderer/tile_pyramid.cpp
+++ b/src/mbgl/renderer/tile_pyramid.cpp
@@ -293,6 +293,7 @@ std::unordered_map<std::string, std::vector<Feature>> TilePyramid::queryRendered
}
LineString<double> queryGeometry;
+ queryGeometry.reserve(geometry.size());
for (const auto& p : geometry) {
queryGeometry.push_back(TileCoordinate::fromScreenCoordinate(