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

Cesium Loads Too Many Tiles #7042

Closed
bbehling-trimble opened this issue Sep 14, 2018 · 21 comments
Closed

Cesium Loads Too Many Tiles #7042

bbehling-trimble opened this issue Sep 14, 2018 · 21 comments

Comments

@bbehling-trimble
Copy link

When in 3D mode, Cesium requests > 300 tiles per aoi, where as in 2D mode, the same aoi requests 6 tiles.

Our concern is that this will get quite costly for ALK and Digital Globe tile requests. Sean said this may have been a bug introduced in a pull request.

@hpinkos
Copy link
Contributor

hpinkos commented Sep 14, 2018

@bbehling-trimble is this for imagery tiles?

@bbehling-trimble
Copy link
Author

@hpinkos yes

@lilleyse
Copy link
Contributor

This is the PR I was referring to: #4969.

It would be interesting to get the before and after numbers. It will also be helpful to measure how many tiles are loaded vs. how many are used for rendering at some point to see if any are loaded unnecessarily.

@kring has also been working on adding LOD skipping to the globe loading code. This has the potential to save a large number of tile requests.

@hpinkos
Copy link
Contributor

hpinkos commented Sep 14, 2018

@lilleyse I'm not sure, but I don't think that would effect imagery requests. It was more for terrain.

@pjcozzi
Copy link
Contributor

pjcozzi commented Sep 15, 2018

@bbehling-trimble thanks for the report and the concrete numbers. Could you please try this before and after #4969 as @lilleyse suggested? I think that will image the number of imagery tiles loaded.

It is still very much a work-in-progress, but you could try the LOD skipping that @lilleyse mentioned in this branch to get some early numbers: https://github.com/AnalyticalGraphicsInc/cesium/tree/fill-tiles

You can, of course, also increase the maximumScreenSpaceError to load fewer tiles, but it will also decrease visual quality. https://cesiumjs.org/Cesium/Build/Documentation/Globe.html#maximumScreenSpaceError

By the way, what is ALK?

Finally, if you are concerned about paying per imagery tile. Check out Cesium ion, which uses Bing imagery, which is billed per session (basically creating a Cesium Viewer widget): https://cesium.com/pricing/

@bbehling-trimble
Copy link
Author

Just to make sure we are on the same page, the extra tile requests I'm referring to are imagery tiles, not terrain tiles.

@pjcozzi
Copy link
Contributor

pjcozzi commented Sep 17, 2018

@bbehling-trimble correct, I am pretty sure that the terrain optimizations will also impact imagery since the imagery is draped over terrain.

@NaderCHASER
Copy link
Contributor

At zoom-level 6 with the same viewport location and size, we see 16 requests instead of 46. This is a huge improvement for us given our tiles are generated on-demand from massive meteorological datasets.

dnejcvcu8aat3vv

@hpinkos
Copy link
Contributor

hpinkos commented Sep 20, 2018

@NaderCHASER this is with removing the change from #4969?

@NaderCHASER
Copy link
Contributor

NaderCHASER commented Sep 20, 2018

@hpinkos I meant to clarify that this is from the fill-tiles branch. My apologies.

Edit: For more clarity, I've kept my Cesium fork up-to-date with each release. Given that, I've been using #4969 for some time. So 16 vs. 46 is fill-tiles vs. current master.

@bbehling-trimble
Copy link
Author

@NaderCHASER Have you tested that fork in 3D mode and looked at Bing tile imagery requests?

@NaderCHASER
Copy link
Contributor

@bbehling-trimble My screenshot is from 3D mode, albeit zoomed in quite a bit (zoom-level 6). I do not use Bing at all, so I can't test that. Otherwise, my imagery tile requests should be pretty similar on this branch. However, this branch breaks on zoom / pan (fatal error), so this isn't ready for use outside of development.

@bbehling-trimble
Copy link
Author

@NaderCHASER whats the size your tiles (width/height)? Also, can you try putting the camera into a more oblique angle and looking at a large scale (zoomed in) mountainous area? I'm just curious as to how many radar tiles are requested in that scenario.

@kring
Copy link
Member

kring commented Sep 21, 2018

@bbehling-trimble you can try the fill-tiles branch yourself here:
http://cesium-dev.s3-website-us-east-1.amazonaws.com/cesium/fill-tiles/

The problem @NaderCHASER mentioned where it crashed when panning should be fixed (I believed it only occurred when using heightmap terrain or the ellipsoid instead of a quantized mesh terrain source). 2D and Columbus View won't work at all, and there are likely to be other bugs, but if you see a crash just browsing around in 3D, please let me know.

@NaderCHASER
Copy link
Contributor

@kring It locks up with CesiumEllipsoidTerrainProvider. Cesium World Terrain appears to work fine.

screen shot 2018-09-21 at 8 04 44 am

@bbehling-trimble
Copy link
Author

@pjcozzi ALK is one of the a map providers we get our imagery and road layers from

@bbehling-trimble
Copy link
Author

@pjcozzi experimenting with the maximumScreenSpaceError, I really don't see a difference in the amount of tiles loaded until a setting of about 8. At that point, the tiles are start to get quite blurry and 100-200 requests are made, which are still very many requests. Thats looking at a mountains area. Flat areas seem to make ~50 requests.

@bbehling-trimble
Copy link
Author

Using the fill-tiles branch, navigating around a mountainous area such as Vail at an oblique angle, the max tiles loaded are ~150. Average tile requests seem to be 60 - 120. Nadir view 10-20 requests.

@kring
Copy link
Member

kring commented Sep 22, 2018

@NaderCHASER that was a bug ~24 hours ago, but I thought I had fixed it. I certainly can't reproduce it now. Are you sure you're in sync with the latest in the fill-tiles branch? Are you doing anything in particular when it happens?

@NaderCHASER
Copy link
Contributor

@kring I re-based and everything seems to be working fine now. Thanks and please accept my apologies for the false alarm!

@mramato
Copy link
Contributor

mramato commented Aug 16, 2019

fill-tiles was merged a while ago so this is OBE

@mramato mramato closed this as completed Aug 16, 2019
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

7 participants