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

Tiles loading and unloading based on amount of requests #519

Open
electrum-bowie opened this issue Oct 17, 2024 · 4 comments
Open

Tiles loading and unloading based on amount of requests #519

electrum-bowie opened this issue Oct 17, 2024 · 4 comments

Comments

@electrum-bowie
Copy link

electrum-bowie commented Oct 17, 2024

It seems like when a tile is requested multiple times by multiple clients it can start disappearing and reappearing for everyone at that location

Untitled.video.compressed.mp4

If it's not fixable, can I at least know why this is happening ?

@electrum-bowie electrum-bowie changed the title Tiles loading and unloading based on movement Tiles loading and unloading based on amount of requests Oct 19, 2024
@kring
Copy link
Member

kring commented Oct 28, 2024

That's not a problem I've seen, and I don't know what would cause it. Can you help us reproduce it ourselves? The first thing, of course, is to see if there are any messages in the log that might offer a hint.

@electrum-bowie
Copy link
Author

electrum-bowie commented Oct 28, 2024

Can you help us reproduce it ourselves?

I can't provide anything useful in terms of source files, and I don't have the time to do debugging unfortunately.

However, based on my experiences with the issue, I'm 80% confident it's some kind of Tiles API overload that confuses Cesium and hides a tile, similar to the issue where tiles slowly disappear after returning to a unity player that has been in standby for a longer time ( 1+ hours or so ), so that's why I'm pretty confident it's a random / meaningless error that could be skipped if handled correctly.

It never happens on regular usage, as you may already know, it only occurs when 2 or more clients rapidly requests tiles at a same place, so if my theory is correct, you may easily be able to reproduce this with a simple multiplayer scene with a minimum of 2 clients ( the more clients the more likely the issue will occur ) or other, simpler ways to imitate the same behavior.

@kring
Copy link
Member

kring commented Nov 1, 2024

I'm 80% confident it's some kind of Tiles API overload that confuses Cesium and hides a tile, similar to the issue where tiles slowly disappear after returning to a unity player that has been in standby for a longer time ( 1+ hours or so ), so that's why I'm pretty confident it's a random / meaningless error that could be skipped if handled correctly.

I'm not sure if this is what you're referring to, but it is true that the Google Photorealistic 3D Tiles token times out after a certain amount of time, and we don't currently have a way to refresh it. That issue is documented here:
CesiumGS/cesium-native#749

It's also true that tile load failures will manifest as missing tiles. I don't know why tiles would be failing to load for you, though. If you are using Google Photorealistic 3D Tiles (I don't think you've said, but it looks like you might be), certainly Google's server should be reliable even with multiple clients hitting it simultaneously.

There should be a message in the log when tiles fail to load.

you may easily be able to reproduce this with a simple multiplayer scene with a minimum of 2 clients ( the more clients the more likely the issue will occur ) or other, simpler ways to imitate the same behavior.

That may be, but if we took the time to build elaborate scenarios to try to reproduce every bug report we got from users, we wouldn't have any time left to actually improve Cesium for Unity. If you'd like our help to fix this, I'm afraid you'll have to help us reproduce it. If it's not currently important enough to you to be worth the time investment, that's fine, too.

@electrum-bowie
Copy link
Author

Thank you, yeah please leave this case open so I may leave potential useful info in the future.

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

No branches or pull requests

2 participants