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 selection sketchiness #1028

Closed
kring opened this issue Dec 6, 2024 · 1 comment · Fixed by #1032
Closed

Tile selection sketchiness #1028

kring opened this issue Dec 6, 2024 · 1 comment · Fixed by #1032
Labels
bug Something isn't working

Comments

@kring
Copy link
Member

kring commented Dec 6, 2024

Working on #981, I'm looking closely at the tile selection algorithm for the first time in a long time, and I'm seeing some weird behavior.

In this example, I'm using Cesium World Terrain + Bing + DebugColorizeTilesRasterOverlay, with "Preload Ancestors" and "Preload Siblings" turned off, and Maximum Simultaneous Tile Loads set to 1. The idea is to force the algorithm to deal with lots of missing data and see what it does.

So I start zoomed in close, looking straight down, and then zoom out. There are missing tiles around the outside, as expected, because these tiles aren't loaded yet. No problem so far.

image

But zoom out a little more, and something is wrong:

image

Notice the grey in the red highlighted area, and the green in the blue highlighted area. This appears to be two tiles drawing on top of each other! This persists for 3 frames of my 30 FPS video, while Unreal is rendering at over 60 FPS, so I don't think it's the one frame overlap between LODs that we allow in Unreal (see CesiumGS/cesium-unreal#506):

image

A few frames later, only the low-detail tile is shown:

image

Keep zooming out and one of the quads vanishes. The "ancestor meets SSE" mechanism should stop this from happening, but it's not:

image

The bottom tile unrefines, no problem here:

image

And suddenly everything is gone. Why? The tile selection stats here show we went from 15 tiles rendered, to 1.

image

Awhile later, everything pops in all at once:

image

I'm not sure what is going on here, but something isn't right. This is Cesium World Terrain, which should be relatively easy. It doesn't have any external tilesets, for example.

@kring kring added the bug Something isn't working label Dec 6, 2024
@kring
Copy link
Member Author

kring commented Dec 6, 2024

With some more careful video recording, I confirmed that the overlapping tiles are not actually a problem. They only overlap for one frame, so they're clearly caused by CesiumGS/cesium-unreal#506.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant