diff options
author | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-07-24 22:02:02 +0300 |
---|---|---|
committer | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-07-25 12:58:27 +0300 |
commit | 0051fcdbb85b2a02751c62d1c76ee1518a967bcb (patch) | |
tree | bf8866f359d776097e8a65f6cc2ce60f6a8da244 /src/mbgl/renderer/tile_pyramid.cpp | |
parent | 2e5897c0f49120c72b7431b3af7d41bef3414719 (diff) | |
download | qtlocation-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.cpp | 1 |
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( |