Stream Data as Required by Purpose
- 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