summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer/buckets/fill_bucket.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/renderer/buckets/fill_bucket.cpp')
-rw-r--r--src/mbgl/renderer/buckets/fill_bucket.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/mbgl/renderer/buckets/fill_bucket.cpp b/src/mbgl/renderer/buckets/fill_bucket.cpp
index 042d7b7506..06658f0150 100644
--- a/src/mbgl/renderer/buckets/fill_bucket.cpp
+++ b/src/mbgl/renderer/buckets/fill_bucket.cpp
@@ -61,6 +61,9 @@ void FillBucket::addFeature(const GeometryTileFeature& feature,
if (nVertices == 0)
continue;
+ vertices.reserve(vertices.vertexSize() + nVertices);
+ lines.reserve(lines.indexSize() + nVertices);
+
if (lineSegments.empty() || lineSegments.back().vertexLength + nVertices > std::numeric_limits<uint16_t>::max()) {
lineSegments.emplace_back(vertices.vertexSize(), lines.indexSize());
}
@@ -94,6 +97,7 @@ void FillBucket::addFeature(const GeometryTileFeature& feature,
assert(triangleSegment.vertexLength <= std::numeric_limits<uint16_t>::max());
uint16_t triangleIndex = triangleSegment.vertexLength;
+ triangles.reserve(triangles.indexSize() + (nIndicies / 3) + 1);
for (uint32_t i = 0; i < nIndicies; i += 3) {
triangles.emplace_back(triangleIndex + indices[i],
triangleIndex + indices[i + 1],