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
setData() and smart diffing #1391
Comments
The d3 model is heavily influenced by the SVG/HTML rendering model: it On Saturday, July 25, 2015, Peter Liu notifications@github.com wrote:
|
If we built a system that would allow us to make incremental changes to the GL buffers (which is possible), we would still have to do an O(n) copy of the entire buffer to the GPU on every change. Let's focus on making GL fast enough to create fresh buffers at a framerate suitable for animation and keep this idea on the back burner. |
Also see upstream: mapbox/geojson-vt#26 |
I don't see this feature fitting into GL JS's API. We should continue trying to make |
Currently, the only way to bind and update data to layers is via setData. Regardless of how new data differs from the old, this involves a full rerender. The downsides are familiar:
This is slow. Noticeable delay before update happens.
Makes continuity difficult. If we want to show a vehicle marker moving down the street, it involves creating and destroying markers in a repeated fashion, rather than animating one marker to new positions (to be fair, if we made # 1 extremely fast, the two become indistinguishable).
The ideal solution would be able to
The obvious predecessor here is D3's enter/update/exit pattern.
cc/ @kelvinabrokwa @tmcw @jfirebaugh
The text was updated successfully, but these errors were encountered: