diff options
Diffstat (limited to 'src/mbgl/renderer/buckets/fill_bucket.cpp')
-rw-r--r-- | src/mbgl/renderer/buckets/fill_bucket.cpp | 4 |
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], |