diff options
author | Chris Loer <chris.loer@gmail.com> | 2017-10-26 14:15:37 -0700 |
---|---|---|
committer | Chris Loer <chris.loer@gmail.com> | 2017-10-31 10:25:57 -0700 |
commit | 5467ba47b8c980a369226d95cfe7fa1188e53235 (patch) | |
tree | 40d44530ff3dbdcc3b51cdfd83a3d54aabf9a392 | |
parent | 304d8b3d6ed44c4a5162a730532ed92189cbf86e (diff) | |
download | qtlocation-mapboxgl-5467ba47b8c980a369226d95cfe7fa1188e53235.tar.gz |
Don't insert "unused" collision circles into the grid, it slows everything down!
-rw-r--r-- | src/mbgl/text/collision_index.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/mbgl/text/collision_index.cpp b/src/mbgl/text/collision_index.cpp index 2b970ee278..d16864d1c7 100644 --- a/src/mbgl/text/collision_index.cpp +++ b/src/mbgl/text/collision_index.cpp @@ -204,10 +204,13 @@ bool CollisionIndex::placeLineFeature(CollisionFeature& feature, void CollisionIndex::insertFeature(CollisionFeature& feature, bool ignorePlacement) { if (feature.alongLine) { - for (auto& box : feature.boxes) { - GridUnit px = box.px; - GridUnit py = box.py; - GridUnit radius = box.radius; + for (auto& circle : feature.boxes) { + if (!circle.used) { + continue; + } + GridUnit px = circle.px; + GridUnit py = circle.py; + GridUnit radius = circle.radius; if (ignorePlacement) { // TODO: revisit whether GridIndex should move vs. copy on insert ignoredGrid.insert(IndexedSubfeature(feature.indexedFeature), {{ px, py }, radius}); |