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

Fix empty traversal for mixed empty and non-empty tiles #11611

Closed
wants to merge 7 commits into from

Conversation

ptrgags
Copy link
Contributor

@ptrgags ptrgags commented Nov 6, 2023

Fixes #9356

This PR fixes a bug in empty tile traversal code where sometimes a parent tile wouldn't refine if one of its children is a long chain of empty tiles followed by a tile with content. The old logic would assume the parent shouldn't refine because there was a renderable descendant, and refining would create a hole. However, some cases (like in #9356 and #11564) actually require the hole to render properly.

I went through and redid the logic of that function, and was able to simplify and document it so it's easier to follow.

The biggest difference is that now only tiles that would be rendered for the current camera view are examined, before it would traverse deeper in the tree if there are a lot of empty tiles.

@jjhembd could you review?

CC @lilleyse

@ptrgags ptrgags requested a review from jjhembd November 6, 2023 20:53
@cesium-concierge
Copy link

Thanks for the pull request @ptrgags!

  • ✔️ Signed CLA found.
  • CHANGES.md was not updated.
    • If this change updates the public API in any way, please add a bullet point to CHANGES.md.
  • ❔ Unit tests were not updated.
    • Make sure you've updated tests to reflect your changes, added tests for any new code, and ran the code coverage tool.

Reviewers, don't forget to make sure that:

  • Cesium Viewer works.
  • Works in 2D/CV.

@ptrgags
Copy link
Contributor Author

ptrgags commented Nov 6, 2023

I'm going through the Sandcastles in the gallery for further testing. I'm noticing some issues:

  1. for Google Photorealistic 3D Tiles, when I move the camera, the view gets blurry when waiting for tiles... so something's not quite right
  2. For 3D Tiles Next Photogrammetry Classification, it takes quite a bit longer to load and hits the memory limit, that doesn't happen on main

@ggetz
Copy link
Contributor

ggetz commented Dec 4, 2023

@ptrgags Is this something you'd expect to follow up on immediately? If not, please close the PR for now. Thanks!

@ptrgags
Copy link
Contributor Author

ptrgags commented Dec 4, 2023

I know the approach in the PR as it stands now is not the correct approach, I get tiles popping in and out with Google Photorealistic 3D Tiles.

It might be worth re-trying @lilleyse's original idea of just returning true. I think there might be some subtleties there indicated by unit tests when I tried it the first time.

For now, I'm closing this PR.

@ptrgags ptrgags closed this Dec 4, 2023
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.

Refinement of mixed empty and non-empty tiles
3 participants