CesiumGS / CesiumGS/cesium-native

Raster overlays can exceed "Maximum Simultaneous Tile Loads"

Open
#1,263 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
C++
Stars
623
Forks
277
PR merge metrics
No merged PRs in 30d

Description

I was frequently seeing this warning in one of my Unreal levels:

> LogHttp: Warning: Reached threaded request limit (100)

The level two tilesets: Cesium World Terrain and Cesium OSM Buildings, both with a Bing Maps raster overlay attached. The "Maximum Simultaneous Tile Loads" is set to 20 for all tilesets and overlays, for a total maximum of 80. So how are we exceeding Unreal's total limit of 100?

Well, I finally got around to investigating this.

The problem is that the "tile" in "Maximum Simultaneous _Tile_ Loads" doesn't refer to a Bing tile. It refers to a geometry tile, i.e. a tile of Cesium World Terrain or Cesium OSM Buildings. In the case of Cesium OSM Buildings, due to its additive refinement, the raster overlay engine often needs to map a large number of Bing tiles to a single, low-detail geometry tile. For example, with a "Maximum Texture Size" of 2048, it'll often happen that loading raster overlays for a single geometry can require 64 256x256 pixel Bing tiles. These 64 tiles count as just one tile for "Maximum Simultaneous Tile Loads" accounting. Fortunately, we don't often end up loading too many of these large, low-detail tiles at once, but it's still pretty easy to bump up against Unreal's 100 request limit.

The best solution to this is not obvious, and it's not catastrophic anyway, but I at least wanted to document the problem in an issue.

Contributor guide

Open the contributing guide

Research direction

The issue identifies raster overlays, geometry tiles, Bing Maps tiles, and Unreal's threaded request limit, but it names no files, tests, or entry points. Start by locating the raster overlay tile-loading and Maximum Simultaneous Tile Loads implementation, then determine and document a solution that prevents requests from exceeding Unreal's limit.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, unreal-engine
Domain
computer-graphics, performance
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.