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-26 14:15:37 -0700 |
commit | f02938facd900aff2f937d6b4065c112fe29ac2f (patch) | |
tree | ba0ca59530d592f7b384cbd2365f8b0491de528d | |
parent | 547e3a8832f0c4b00a7cae821f45a3187f4b887a (diff) | |
download | qtlocation-mapboxgl-f02938facd900aff2f937d6b4065c112fe29ac2f.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}); |