-
-
Notifications
You must be signed in to change notification settings - Fork 310
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tile diff #2719
base: main
Are you sure you want to change the base?
Tile diff #2719
Conversation
… layers have only one drawable per tile
b9b29e1
to
5b1b35b
Compare
integrate with `render_layer` start on fill conversion
Bloaty Results (iOS) 🐋Compared to main
Full report: https://maplibre-native.s3.eu-central-1.amazonaws.com/bloaty-results-ios/pr-2719-compared-to-main.txt |
# Conflicts: # src/mbgl/renderer/layers/render_circle_layer.cpp # src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp # src/mbgl/renderer/layers/render_fill_layer.cpp # src/mbgl/renderer/layers/render_symbol_layer.cpp # src/mbgl/renderer/render_layer.cpp # src/mbgl/renderer/sources/render_tile_source.hpp
Benchmark Results ⚡
Full report: https://maplibre-native.s3.eu-central-1.amazonaws.com/benchmark-results/pr-2719-compared-to-main.txt |
…ders when they're not needed
# Conflicts: # include/mbgl/renderer/renderer.hpp # src/mbgl/renderer/layers/render_fill_layer.cpp # src/mbgl/renderer/renderer.cpp
Prevent crash when adding a custom drawable layer twice.
Well, after all that, it doesn't really help at all, and in fact seems to be just a bit slower. In addition, I thought this was going to simplify things but, because layers can not be updated every frame, the complications involved in re-synchronizing offset the benefits. It does potentially allow the large layer update methods to be split up into three parts, but they remain dependent (updates can find that a remove/add is necessary). Finally, I think this would actually make it more difficult to transition the layer updates to a background thread. So I'm leaning towards dropping this one. |
Only calculate which tiles were added and removed once per frame instead of separately in each layer update.