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

Cesium3DTileset flickers in large data. #11952

Closed
keiya01 opened this issue Apr 23, 2024 · 3 comments
Closed

Cesium3DTileset flickers in large data. #11952

keiya01 opened this issue Apr 23, 2024 · 3 comments
Labels
needs feedback On hold until additional info is supplied needs triage type - bug

Comments

@keiya01
Copy link

keiya01 commented Apr 23, 2024

What happened?

Thank you for a great work. I found a strange behavior, let me share it.
Some features of Cesium3DTileset are flickering when they are loaded. It means the feature is displayed once, but it's disappearing at the moment.
I think it should be caused by cachesSize option. The data has large texture, so it occupies large memory. Then some features are disappear. I think it's correct behavior, but it keeps flickering.

Reproduction steps

  1. Load 3D Tiles
  2. Move camera to the displayed feature's position.
  3. Wait few minutes
  4. As soon as some features are appear, it's disappear. It's happened repeatedly.

Sandcastle example

https://sandcastle.cesium.com/#c=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

Environment

Browser: Chrome
CesiumJS Version: 1.116.0
Operating System: macOS

@ggetz
Copy link
Contributor

ggetz commented Apr 26, 2024

Hi @keiya01,

We have a cache size limit to prevent large tilesets from crashing the browser when they use too much memory.

If you want to bypass this default behavior, you can set the cache size higher. However, for the best solution, I would recommend reducing the size of the textures in the tileset, or compressing them such as with KTX2.

@ggetz ggetz added the needs feedback On hold until additional info is supplied label Apr 26, 2024
@keiya01
Copy link
Author

keiya01 commented May 9, 2024

Thank you @ggetz .
Yes, I can also set Infinity to the cacheSize option. However, I personally think that it causes unexpected behavior when the cache size limit is exceeded. Ideally, it would be more useful if it behaved more naturally.
For example, the feature that exceeds the cache size should be removed from the scene, not flickered. And the removed feature should be appear at a higher zoom level.

@ggetz
Copy link
Contributor

ggetz commented May 9, 2024

Thanks for clarifying @keiya01!

When the cache size limit is exceeded, we adjust the scene's maximumScreenSpaceError, which typically "unloads" higher LODs. This typically does not result in flickering. While I see your point that this can be unexpected behavior, at this point I think this appears to rare. In this case I would suggest optimizing the tileset or adjusting the cache size limit.

I'm going to close the issue for now, but we'll keep our eyes open if we see other reports.

@ggetz ggetz closed this as completed May 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs feedback On hold until additional info is supplied needs triage type - bug
Projects
None yet
Development

No branches or pull requests

2 participants