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

Many symbols per tile at max zoom causes incorrect displaying of symbols. #6825

Closed
ckyleda opened this issue Jun 15, 2018 · 3 comments
Closed

Comments

@ckyleda
Copy link

ckyleda commented Jun 15, 2018

mapbox-gl-js version: 0.40.0

browser: Chrome 67.0.3396 (Linux)

Steps to Trigger Behavior

Load an arbitrary amount of symbols (or, possibly a few symbols with large amounts of properties - I am unsure whether the amount of data in the symbol can also trigger this issue.)
And zoom in.

This is definitely related to #2907 - with the symbol array only being uint16 and there being an overview. But as I am not rendering that many symbols, it also seems that the amount of properties in the symbols also can cause an overflow.

The previous suggested code to convert this array to a more suitable type, such as uint32, no longer works due to architecture changes.

What's the rationale behind having such a limited array for symbol storage? Is it possible to modify this to support many more, and more complex symbols?

Expected Behavior

Any amount of symbols should be renderable on the map.

Actual Behavior

"Too many symbols being rendered in a tile." thrown in console, and map then does not display any further symbols and 'hangs' for a while until presumably the symbol buffer has been cleared out.

@mollymerp
Copy link
Contributor

@ckyleda thanks for using mapbox-gl-js and sorry you're having an issue! can you please create a minimal reproduction of the issue you're seeing on jsbin or jsfiddle, and upgrade to the most recent version of this library (v0.46.0-beta.1)

@ckyleda
Copy link
Author

ckyleda commented Jun 15, 2018

@mollymerp Unfortunately this is not reproducible in jsbin/jsfiddle - the required amount of symbols apparently needed to trigger this simply refuse to render with no error.

Upgrading is also a no-go. However, this issue has existed since 2016, so I doubt it's been fixed recently. However, I can verify that it is triggering the exact same warning that was implemented in that issue.

Additionally, there appears to be no reference in the codebase to 'Too many symbols being rendered in a tile.' warning - where is this generated?

@mollymerp
Copy link
Contributor

@ckyleda our symbol placement implementation has changed dramatically and that error is no longer emitted by mapbox-gl-js. The current versions don't have a hard cap on the number of symbols and we don't patch older versions, so I'm afraid you'll have to upgrade in order to get around this error. Closing here, but if you still have trouble with the current version please open a new ticket.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants