Skip to content
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 render order #15685

Merged
merged 2 commits into from
Apr 3, 2024
Merged

Tile render order #15685

merged 2 commits into from
Apr 3, 2024

Conversation

ahocevar
Copy link
Member

@ahocevar ahocevar commented Mar 28, 2024

This pull request changes the vector tile render order from per-tile to per-viewport for declutter: false, and from per-zIndex to per-zIndex-and-builderType. For declutter: true, the general order has already been per-viewport. This makes sure that within the same z-index, the render order of the builder types is maintained across tiles.

Now the viewport is rendered as a whole, instead of tile-by-tile. This is done by changing the ZIndexContext's index from just render zIndex to render zIndex * maximum number of builder types. When not decluttering, we now also use the deferred rendering code path, which was originally created for decluttering - to collect all executors of all tiles in the viewport and then render them together, zIndex by zIndex, and builderType by builderType. Previously, tiles were rendered one after another.

Fixes #15681.

Copy link

📦 Preview the website for this branch here: https://deploy-preview-15685--ol-site.netlify.app/.

@ahocevar ahocevar force-pushed the tile-render-order branch 7 times, most recently from 088c7b7 to 3c9da36 Compare March 29, 2024 21:41
@ahocevar ahocevar marked this pull request as ready for review March 29, 2024 21:57
@ahocevar
Copy link
Member Author

This is now ready for review.

@ahocevar ahocevar merged commit 4f9524b into openlayers:main Apr 3, 2024
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Problem with setFill() for styling VectorTile
2 participants