Skip to content

Commit 1150d3b

Browse files
authored
fix(perf): fixed massive performance issue in simplification steps for Polyline/gonLayers (#1991)
1 parent 261db40 commit 1150d3b

File tree

1 file changed

+5
-5
lines changed
  • lib/src/layer/shared/layer_projection_simplification

1 file changed

+5
-5
lines changed

lib/src/layer/shared/layer_projection_simplification/state.dart

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,10 @@ mixin ProjectionSimplificationManagement<
4242
///
4343
/// Do not use before invoking [build]. Only necessarily up to date directly
4444
/// after [build] has been invoked.
45-
late Iterable<ProjectedElement> simplifiedElements;
45+
late List<ProjectedElement> simplifiedElements;
4646

47-
Iterable<ProjectedElement>? _cachedProjectedElements;
48-
final _cachedSimplifiedElements = <int, Iterable<ProjectedElement>>{};
47+
List<ProjectedElement>? _cachedProjectedElements;
48+
final _cachedSimplifiedElements = <int, List<ProjectedElement>>{};
4949

5050
double? _devicePixelRatio;
5151

@@ -89,12 +89,12 @@ mixin ProjectionSimplificationManagement<
8989
}
9090

9191
simplifiedElements =
92-
(_cachedSimplifiedElements[camera.zoom.floor()] ??= _simplifyElements(
92+
_cachedSimplifiedElements[camera.zoom.floor()] ??= _simplifyElements(
9393
camera: camera,
9494
projectedElements: projected,
9595
pixelTolerance: widget.simplificationTolerance,
9696
devicePixelRatio: newDPR,
97-
));
97+
).toList(growable: false);
9898
}
9999

100100
return Builder(

0 commit comments

Comments
 (0)