maplibre-native
maplibre-native copied to clipboard
Remove assert behavior when preparing a RenderSymbolLayer
Render tile buckets may have a mix of empty and non-empty sort key ranges. This causes the assert to fail when determining the insert position into the placement data list. Instead of an assert, this condition should be handled gracefully.
Specifically, I'm seeing this behavior occur after updating the style URL, on a subsequent render pass, using maplibre-native-qt (QMapLibre::Map).
Two (of many) URLs that give me this issue:
From: https://api.maptiler.com/maps/hybrid/style.json?key=
Bloaty Results (iOS) 🐋
Compared to main
FILE SIZE VM SIZE
-------------- --------------
+0.2% +36.4Ki +0.2% +32.0Ki TOTAL
Full report: https://maplibre-native.s3.eu-central-1.amazonaws.com/bloaty-results-ios/pr-2161-compared-to-main.txt
Bloaty Results 🐋
Compared to main
FILE SIZE VM SIZE
-------------- --------------
+0.0% +416 +0.0% +288 TOTAL
Full report: https://maplibre-native.s3.eu-central-1.amazonaws.com/bloaty-results/pr-2161-compared-to-main.txt
Compared to d38709084a9865fe0bb8300aec70ebf8243b3d43 (legacy)
FILE SIZE VM SIZE
-------------- --------------
+20% +23.7Mi +407% +24.3Mi TOTAL
Full report: https://maplibre-native.s3.eu-central-1.amazonaws.com/bloaty-results/pr-2161-compared-to-legacy.txt
Thanks for your contribution, let me check if this is indeed expected behavior.
Benchmark Results ⚡
Benchmark Time CPU Time Old Time New CPU Old CPU New
------------------------------------------------------------------------------------------------------------------------------------------
OVERALL_GEOMEAN -0.0064 -0.0062 0 0 0 0
Full report: https://maplibre-native.s3.eu-central-1.amazonaws.com/benchmark-results/pr-2161-compared-to-main.txt