Autodesk / Autodesk/maya-usd

Stream Data as Required by Purpose

Open
#4,676 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Wolfram Language
Stars
905
Forks
223
Avg merge
2d 9h
Merged PRs (30d)
17

Description

**Is your feature request related to a problem? Please describe.**
Currently when loading a stage via 'Stage from File' the entire USD file seems to be loaded into memory. This can make loading both a new stage from file, or opening a maya file with a stage saved internally very slow.

**Describe the solution you'd like**
Perhaps similar to importing an alembic cache (where it converts to maya data) vs a GPUCache (where the data is streamed) the maya-usd plugin needs a way to stream the data as the user requests it? Top level thinking: if I have the stage set to Proxy purpose, completely ignore all the Render purpose data / composition arcs. Only load the proxy data. However when switching to Render purpose this would trigger the streaming in of the extra data required.

**Describe alternatives you've considered**
Right now for simplicity we import the USD file as maya data, delete all render purpose data then export a GPUCache for artists such as animators to use in their scenes. Artists can then choose slower USD or faster GPUCaches.

**Extra**
I understand that currently it loads all the data assuming you want to edit the stage somehow. Perhaps a switch within the shape node that sets the entire stage to a non editable streamed state which could then be used purely for viewport purposes similar to a GPUCache.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reproducing the slow “Stage from File” workflow and compare it with the GPUCache workflow described in the issue. Investigate how the stage’s Proxy and Render purposes are handled, including the proposed shape-node setting. Done would require an agreed design and a working way to load only the requested purpose data while preserving the ability to switch purposes.

Written by the indexing model from the issue text.

Assessment

Domain
computer-graphics
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.