alembicGetArchiveMaxCacheSize()

   2761   4   0
User Avatar
Member
72 posts
Joined: Sept. 2012
Offline
Just noticed the get/set alembic cache size functions in the _alembic_hom_extensions module.

The default cache size seems to be 50 which isn't too big. Does the cache size affect all alembic functionality like the alembic primitives too or is it just for the python access to the archives?

o.
User Avatar
Member
4270 posts
Joined: July 2005
Offline
I believe its a cache of IArchive references, handles to the various Alembic files themselves. When you are using more than 50 alembic archives the archive reference that was used longest ago is released and a new handle created. Whenever one of our tools assembles a scene it sets the cache size to be 1024, but that's mainly cause we typically use 1000+ archives for a bigger shots.


Versions of Houdini before 12.5.487 you *had* to set your cache size to always be more than the number of alembic files you'd be using otherwise caches might ensue. This bug has since long been fixed.
if(coffees<2,round(float),float)
User Avatar
Member
72 posts
Joined: Sept. 2012
Offline
Thanks - yeah I got that it's the number of handles to alembic archives but what does for example the GL implementation of abc primitives actually do if I have say 100 unique (static) abc archives referenced and the cache size is the default… will it start juggling the data in'n'out or is it only a concern when accessing animated archives?

…and I guess there's no way to set the cache size through the environment?
User Avatar
Member
4270 posts
Joined: July 2005
Offline
olliRJL
Thanks - yeah I got that it's the number of handles to alembic archives but what does for example the GL implementation of abc primitives actually do if I have say 100 unique (static) abc archives referenced and the cache size is the default… will it start juggling the data in'n'out or is it only a concern when accessing animated archives?

…and I guess there's no way to set the cache size through the environment?

You can set it in 456.py and be done with it. Although before jumping through hoops it might be best to profile it and see if it actually has an impact on performance.
if(coffees<2,round(float),float)
User Avatar
Member
72 posts
Joined: Sept. 2012
Offline
Wolfwood
Although before jumping through hoops it might be best to profile it and see if it actually has an impact on performance.

I did a bit a testing and didn't notice any effect in the viewport perf with static abc archives even if the cache was set to as low as 1. I guess once the data is on the GPU it doesn't need an handle to the data anymore which makes total sense.

Could maybe some SESI folk shed some light on this matter - where does this cache size practically come into play? is there any downsides to setting it too high?
  • Quick Links