Skip to content

Model Loading optimization possibility #17

@vade

Description

@vade

Today in Satin, model loading can make many nested transforms, mirroring USD graphs etc

We should optionally compute nested transforms and only add Meshes / Submeshes at the top most level, simplifying the recursion needed in methods like updateLists, which for large models, dominate the CPU usage and makes folks sad

of 1297 objects only 271 are actual meshes, which could have had their root transforms updated and avoided 81% of recursion / cost in updateLists

po object.children[1].getChildren(true)
▿ 1297 elements
  ▿ 0 : <Object: 0x1229f7a00>
  ▿ 1 : <Object: 0x122a3e000>
  ▿ 2 : <Object: 0x122a45a00>
  ▿ 3 : <Object: 0x122a46000>
  ▿ 4 : <Object: 0x122a92800>
  ▿ 5 : <Object: 0x122a92e00>
  ▿ 6 : <Object: 0x122a6d000>
  ▿ 7 : <Object: 0x122a6d600>
  ▿ 8 : <Object: 0x12298de00>
  ▿ 9 : <Object: 0x12298e400>
  ▿ 10 : <Object: 0x12298ea00>
  ▿ 11 : <Object: 0x122870a00>
  ▿ 12 : <Object: 0x122871000>
  ▿ 13 : <Object: 0x122871600>
  ▿ 14 : <Object: 0x12286ec00>
  ▿ 15 : <Object: 0x12286f200>
  ▿ 16 : <Object: 0x12286f800>
  ▿ 17 : <Object: 0x122a49000>
  ▿ 18 : <Mesh: 0x122a49600>
  ▿ 19 : <Object: 0x12384be00>
  ▿ 20 : <Object: 0x12384ce00>
  ▿ 21 : <Object: 0x123811200>
  ▿ 22 : <Mesh: 0x12387f600>
  ▿ 23 : <Object: 0x122072c00>
Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions