[Misconception] DAZ Studio: Lazy morph loading (built-in) ->?
I know there is at least one product for confining the morphs to load, but AFAIK, it needs manual tweaking and might not load all morphs needed under certain circumstances. Maybe this has been asked before.
So not only to speed up loading, but also to simplify exporting, i'd like to suggest "lazy morph loading" as a feature of DAZ Stuido. I can imagine two main routes that could lead there:
- Scripting/plugin API provide hooks to enable the feature, so scripts/plugins get called when it's relevant.
- It gets built into Studio (preferred).
So basically this should be a switch for a project, or a Studio session, or just global, to only load morphs, if they are actually used, but still be able to load on demand, if used/desired. I also envision options to still show the sliders and the names greyed out, even when not in use, so you could click on it to load it, but maybe also deactivate it. Upon deactivation i don't expect the morph to be unloaded, though, it would be enough, if it doesn't get exported (auto exclude) and for instance after saving a scene, won't load the next time. (Going complicated, you could still remember the last set value, or allow to save/load all unused values in an extra file or with a scene.)
If this was so simple, it probably would be there already. Of course both loading time would improve, as well as efficiency on exporting.
Cool features would then still be..
- Always load certain morphs (incdividual, from a product, from a saved favorite list, ...). It probably would be best to have them still be deactivated in terms of greyed out, but loaded into memory then. This would mean three meta states (used and loaded as is now, deactivated and not loaded, deactivated and loaded, the latter probably being possible to express better by another word than 'deactivated').
- Dynamic switch to deactivate all unused morphs. E.g. for saving/exporting, and having more efficiency for next load or further use.
- (Deactivating a used morph would mean dialing it back, if it's reversible.)
Does this make sense? Will it be in Studio 5?
Comments
If this is because of the slow loading of heavily laden figures then what you ask is what it does - the actual morph data (the deltas, chnages in shape) is not loaded uintil needed - it's building the list of properties that is taking time, because of the ay they interconnect.
Ah, so for a part, some parts of the suggestion are already implemented. Though if a plugin can make loading faster, it means that in theory even the gathering of the properties could as well be made faster.
E.g. if it had to interpret whole files instead of just headers or metadata files, just for checking and creating the properties list. In any case, results could in theory be cached, though. Not recommending more random things, which don't apply anyway here...
Filtering morphs by selected products could make sense, though i assume that's actually possible with a script, buttons for scripts are possible too. I guess detecting morphs is possible, also for animations, and across multiple scenes. So in the end i could battle stuff with meta data linking between studio and whatever application on the other side, using script/plugin (partly to be written), in case too many morphs get exported. At least the interlinking question towards export has been a (quick) misconception of mine then.
So perhaps, i should gather more experience and we assume this to be resolved in terms of what makes sense to ask.
There is a cache - see Edit>Preferences.
Turbo Loader can selectively disable morphs, but theya re then not at all available until reenabled..