Skip to content
This repository has been archived by the owner on Aug 8, 2023. It is now read-only.

incremental parsing #163

Closed
kkaefer opened this issue Apr 26, 2014 · 8 comments
Closed

incremental parsing #163

kkaefer opened this issue Apr 26, 2014 · 8 comments
Labels
performance Speed, stability, CPU usage, memory usage, or power usage

Comments

@kkaefer
Copy link
Contributor

kkaefer commented Apr 26, 2014

We should create the buckets for a tile incrementally, filling them/adding them as we go. This makes the app feel a little faster because you at least see something, e.g. you see all the streets, but not labels yet.

refs #158

@incanus
Copy link
Contributor

incanus commented Apr 28, 2014

This would be great. It probably makes sense to do this bottom-to-top if that's not already the natural order in order to look best, but that could be a second refinement.

@incanus
Copy link
Contributor

incanus commented May 20, 2014

How likely do you think this is to happen for WWDC @kkaefer?

@kkaefer
Copy link
Contributor Author

kkaefer commented May 21, 2014

Not likely. Incremental parsing means that we have to think hard about how the buffers are organized; right now, we're e.g. using one elements buffer that is shared across all buckets and bucket types. That means that if we parse a fill, but have previously parsed all lines (and are attempting to render the line), we are going to modify the elements buffer again, and have to handle updates (e.g. using glBufferSubData).

@ansis
Copy link
Contributor

ansis commented May 21, 2014

This also really complicates clipping. Each layer would have a different set of tiles to render from.
Since (I think) it would not be possible to represent the different overlapping areas for a lot of layers with just 8 stencil bits, the clipping mask would need to be redrawn after each couple of layers. This is probably a performance issue (@kkaefer would know better). #220

Separating just text and non-text buckets is probably more realistic

@kkaefer
Copy link
Contributor Author

kkaefer commented May 21, 2014

@ansis not sure I follow. This ticket is about incremental parsing. Why would that affect clipping?

@ansis
Copy link
Contributor

ansis commented May 26, 2014

If the incrementally parsed tiles replace previously loaded tiles, then as each layer from the new tile is parsed and displayed the same layer from the old tile has to be clipped. Different layers from the old overscaled tile may be clipped differently. Supporting different clippings for different layers is the same problem as supporting clipping for multiple sources #220. I don't think its possible to support overscaling this many different clippings with the current clipping approach. Just 8 stencil bits and testing with a mask and equal isn't enough without redrawing the stencil multiple times. It would be awesome if I was wrong about this though

@tmpsantos
Copy link
Contributor

#1326 has the interesting side effect of making this possible (it will be my next step as soon as I get rid of the promises).

@jfirebaugh
Copy link
Contributor

No current plans to pursue this.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
performance Speed, stability, CPU usage, memory usage, or power usage
Projects
None yet
Development

No branches or pull requests

6 participants