CesiumGS / CesiumGS/cesium-native
Add ability to cancel / reprioritize tile loads after the network request
- Dominant language
- C++
- Stars
- 623
- Forks
- 277
- PR merge metrics
- No merged PRs in 30d
Description
Although the tile load slots are filled with priority tiles first, the prioritization may change by the time they are received over the network. In fact, we might not even need to load those tiles any more. We should have a new state in between `ContentLoading` and `ContentLoaded` that represents a tile that has been received over the network but the async CPU loading has not yet happened (maybe `ContentRecieved`?). In this new state, tiles should be reprioritized before being loaded, perhaps explicitly assigned to available threads. Currently the user can define a number of tile load slots, but the CPU load work executes on a first-come-first-serve basis. Further, the client (e.g., Cesium for Unreal) determines how many threads the loading slots execute on, so it is very possible that higher-priority tiles are waiting on lower-priority tiles to load if they arrive later, even in a stationary view.
Contributor guide
Assessment
This issue has not been assessed yet.