maplibre-native
maplibre-native copied to clipboard
Asynchronous GeometryTile deletion
General performance augmentation. Defers destruction of a GeometryTile's mailbox to a worker thread. These tiles hold OpenGL objects which must be deleted on the correct thread, so those objects are deleted on the render thread.
A number of special concerns around synchronization had to be addressed.
The primary performance problem centers around the mailbox needing to take both mutex locks before it can be properly closed. As this was done on the render thread, it would stall the whole renderer when the map was in motion.
This started in #1928 and has since been moved to this development branch.
Bloaty Results (iOS) 🐋
Compared to main
FILE SIZE VM SIZE
-------------- --------------
+0.5% +79.0Ki +0.5% +80.0Ki TOTAL
Full report: https://maplibre-native.s3.eu-central-1.amazonaws.com/bloaty-results-ios/pr-2051-compared-to-main.txt
Codecov Report
Attention: Patch coverage is 56.54952%
with 136 lines
in your changes are missing coverage. Please review.
Project coverage is 58.38%. Comparing base (
003c062
) to head (937e261
).
Additional details and impacted files
@@ Coverage Diff @@
## main #2051 +/- ##
==========================================
- Coverage 58.38% 58.38% -0.01%
==========================================
Files 572 574 +2
Lines 28136 28340 +204
Branches 11270 11376 +106
==========================================
+ Hits 16428 16545 +117
+ Misses 4158 4157 -1
- Partials 7550 7638 +88
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Bloaty Results 🐋
Compared to main
FILE SIZE VM SIZE
-------------- --------------
+0.5% +741Ki +0.3% +104Ki TOTAL
Full report: https://maplibre-native.s3.eu-central-1.amazonaws.com/bloaty-results/pr-2051-compared-to-main.txt
Compared to d38709084a9865fe0bb8300aec70ebf8243b3d43 (legacy)
FILE SIZE VM SIZE
-------------- --------------
+19% +22.2Mi +401% +23.9Mi TOTAL
Full report: https://maplibre-native.s3.eu-central-1.amazonaws.com/bloaty-results/pr-2051-compared-to-legacy.txt
!benchmark android
ok, I think this one is finally ready