summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Loer <chris.loer@gmail.com>2017-10-26 14:15:37 -0700
committerChris Loer <chris.loer@gmail.com>2017-10-31 10:25:57 -0700
commit5467ba47b8c980a369226d95cfe7fa1188e53235 (patch)
tree40d44530ff3dbdcc3b51cdfd83a3d54aabf9a392
parent304d8b3d6ed44c4a5162a730532ed92189cbf86e (diff)
downloadqtlocation-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.cpp11
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});