cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Stack modifiers cache

Stack modifiers cache

We have our beloved Stack modifier list. Lots of process could be accelerated with an internal cache system.

Having an Editpoly,  an OpenSubdv with 3 iterations,  a bend modifier with animation.

 

If our object is quite dens we can have low fps, because the Opensubdv is getting evaluated every frame, even nothing needs to be reevaluated.

If we collapse the Opensubdv we can get 20X bigger performance. Obviously a lot of times we dont want to get ride of the opensubdv, so....

 

3dsmax should be intelligent enough to store a cache of the mesh generated with certain modifiers, and not re-evaluate each frame if there is no change on its topology. 

9 Comments
Anonymous
Not applicable

I doubt that things are that easy.

Also there are already some optimizations going on with stack evaluation:(Doesn`t mean it can`t improved)

http://help.autodesk.com/view/3DSMAX/2020/ENU/?guid=__developer_3ds_max_sdk_features_modeling_geomet...

 

ACCCC
Advocate

If you are only looking for a subdivision during rendertime and you use Arnold you can subdivide with the Arnold Properties modifier at rendertime.

pyroskat
Advocate

No, is not what Im asking here.

Sometimes you want to see the result of your opensubdiv on your scene, + other modifiers in top. And here Opensubdv is just an example. 

The point is that if you have a static mesh, with a static modifier in top and a not static modifier in top of the 2. Here what you need to evaluate each frame is just the modifier that is not static, right now max evaluates every modifier, even if there is no change needed to be done. 

Anonymous
Not applicable

@pyroskatInteresting subject:

I`m not an expert in the 3dsmax-SDK/Core, but it seems the current Cache-System only checks the cache validity of the world state representation of an object (after all modifiers are applied) instead of specific modifiers states.

 

You want this changed to a more granular approach, where the validity of modifier/node is checked.

So lets say you have:

 

Bend (animated)

Displace (Static)

Opensubdiv (Static)

editableMesh (static)

 

So the (geometry) cache should be valid representing  the bottom 3 modifiers, but Bend should be evaluated every Time(t).

Makes sense, but isn`t this the equivalent of putting an PointCache between Displace and Bend?

pyroskat
Advocate

Thanks to make it clear Aon. Thats exactly what I mean.

 

yes, right now I can add a pointcache in between, Saving the file, and recaching each time I do a change below the bend. 

 

The proposition in my case, is that max could handle this internally without the need to write to disk any file. Making the process more agile.

Anonymous
Not applicable

@pyroskatTotally agree with that.

RGhost77
Advisor

Partly http://www.guruware.at/main/cachemod/index.html should to do the trick, but build-in modifiers cache would be good.

brentscannell
Autodesk
Status changed to: Future Consideration
 

indeed

Can't find what you're looking for? Ask the community or share your knowledge.

Submit Idea