Skip to content

Any way to improve tileset subtree loading performance on deep tilesets? #1367

@cmcnicholas

Description

@cmcnicholas

Question

I am experiencing the browser locking up (5-6 seconds) on initialising deep tilesets. The ones I am dealing with are between 262,144 and 16,777,216 in total tiles using implicit tiles and a constant subtree (added both at the end).

Attached screenshot from perf tab:

Image

Most of the time looks like its spent in:

  • getTileBoundingVolume()
  • parseImplicitUri()
  • general garbage collection

I've tried tweaking .processNodeQueue max jobs down to 5 but haven't noticed any difference. I did see some PR's for progressive loading of SUBTREE which looks like its the default behaviour, just wondering if I should be doing something different to improve the load stutter.

Supplemental Data

Tileset

{
    "asset": {
        "version": "1.1"
    },
    "geometricError": 152.8740577697754,
    "root": {
        "boundingVolume": {
            "box": [
                0,
                0,
                0,
                39135.75848201024,
                0,
                0,
                0,
                39135.75848200871,
                0,
                0,
                0,
                0.001
            ]
        },
        "refine": "REPLACE",
        "geometricError": 152.8740577697754,
        "content": {
            "uri": "content/{level}_{x}_{y}.glb"
        },
        "implicitTiling": {
            "subdivisionScheme": "QUADTREE",
            "availableLevels": 12,
            "subtreeLevels": 12,
            "subtrees": {
                "uri": "dynamicsubtree.subtree"
            }
        }
    }
}

SUBTREE

{
  tileAvailability: { constant: 1 },
  contentAvailability: { constant: 1 },
  childSubtreeAvailability: { constant: 0 },
}

Library Version

0.4.18

Three.js Version

180

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions