-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
Synchronize StyleLayer and Bucket/Buffer state #4012
Labels
Comments
This was referenced Oct 27, 2017
In #3453, @ansis suggests that we should aim for solution wherein all tiles being rendered have been laid out using the same view of the style. If want to do that -- and even if we don't -- I think #4875 will make this much more tractable. Once we have an immutable |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The state needed by the painter_xxx modules to render tiles is split up into two places:
Style
/StyleLayer
structure, which dictates the layers to be rendered, their types, and the layout/paint definitions that control their details.Tile
objects (managed bySourceCache
, populated bySource
s, often viaWorker
requests), which holdBucket
s (one per StyleLayer) of buffers containing vertex positions, colors, etc.These can get out of sync when client code mutates the
Style
, e.g.:setPaintProperty
to change a constant to a property functionIn each of these cases, we have to work around the possibility that when the
Style
is updated, we could have one or more render cycles where someTile
s are stale, carrying Bucket state that corresponds to the pre-updated style layers.The text was updated successfully, but these errors were encountered: