3DTilesRendererJS icon indicating copy to clipboard operation
3DTilesRendererJS copied to clipboard

TilesRenderer: Queue loads for all visible tiles

Open gkjohnson opened this issue 1 year ago • 1 comments

Related to #632

In progress PR for queuing up all tiles needed for rendering so we can make sure the jobs are saturated as consistently as possible. Currently tiles can seem slower but it's possible this is because the queue sort is prioritizing tiles that were not previously added to the queue, preventing some parents from loading sooner.

TODO

  • Check if raising the queue size on tiles has a significant improvement before / after
  • Measure time to load completion
  • Ideate on queue sort improvements

gkjohnson avatar Jul 22 '24 15:07 gkjohnson

Generally this seems like an improvement for loading google tiles in the "aerial" example by a couple hundred ms when the parse and download queue max job count has been raised to 1000. Without the increased job cap there is little to no difference. Both queues must be changed to see the benefit.

Before ~ 1969ms

After ~1725ms

We're potentially at risk of filling up the lru cache too quickly causing one branch of the tree to render and not others. Ideally we'd only push items onto the queue if it's an improvement over existing tiles.

gkjohnson avatar Jul 23 '24 02:07 gkjohnson

Closing for now - the impact isn't significant in common cases to be worth it.

gkjohnson avatar Sep 13 '24 01:09 gkjohnson